Не съм сигурен дали помага, но следното работи за мен:
ЗА ДА се свържете локално с помощта на tnsnames.ora (в директорията $ORACLE_HOME/network/admin):
my $db = DBI->connect( "dbi:Oracle:mydatabase", "scott", "tiger" );
и за свързване без използване на tnsnames.ora:
my $db = DBI->connect("dbi:Oracle:host=$host;sid=$sid;port=1521",$user,$passwd)
|| die( $DBI::errstr . "\n" );
където $host, $sid трябва да бъдат дефинирани предварително.