I'm having difficulty connecting to an Oracle database with perl. Sqlplus connects immediately, but DBI takes over 3 minutes to establish a connection. Here's some test code (auth info removed):
#!/usr/bin/perl
use strict;
use DBI;
$ENV{ORACLE_HOME} = "/usr/local/oracle9";
my $dbhost = '';
my $database = '';
my $username = '';
my $password = '';
# Build a dsn
my $dsn = "DBI:Oracle:host=$dbhost;sid=$database";
# Create a database handle
print scalar localtime(), " connecting ...\n";
my $dbh = DBI->connect($dsn, $username, $password, {
RaiseError => 0,
PrintError => 1,
AutoCommit => 0
}) or die $DBI::errstr;
print scalar localtime(), " done.\n";
$dbh->disconnect();
Here's the script output:
Mon Aug 9 10:30:00 2004 connecting ...
Mon Aug 9 10:33:09 2004 done.
The same code works fine on another Oracle database I'm using, so there appears to be something different about this server. Since Sqlplus connects immediately, though, I have to think there's something I need to do differently on the client side.