Don't know if anyone has worked with the Oracle RAC environment and perl. Using sqlplus, I can do the following
C:\>sqlplus ais_dbo/passw...@edc-dbserver/HCSMDA SQL*Plus: Release 10.2.0.1.0 - Production on Thu Apr 29 11:55:35 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options And then execute queries, updates ... >From ActiveState perl running on a windows 2003 server box with DBD-Oracle 1.21 and DBI 1.609 C:\>perl -v This is perl, v5.8.9 built for MSWin32-x86-multi-thread (with 9 registered patches, see perl -V for more detail) Copyright 1987-2008, Larry Wall Binary build 825 [288577] provided by ActiveState http://www.ActiveState.com Built Dec 14 2008 21:07:41 Perl code follows #!/usr/bin/perl -I . require 5.001; use strict; use DBI; MAIN: { print "Started\n"; my $dbh = DBI->connect("dbi:Oracle:host=edc-dbserver;sid=HCSMDA", "ais_dbo","PASSWORD", {RaiseError=>1, PrintError=>0}); my $sqlstmt = "SELECT COUNT(*) FROM VESSEL_IDENTIFIERS"; my($no_of_ships) = $dbh->selectrow_array($sqlstmt); print "Got $no_of_ships ships\n" } Executing the above, I get Started DBI connect('host=edc-dbserver;sid=HCSMDA','ais_dbo',...) failed: ORA-12505: TNS:listener does not currently know of SID given in connect descriptor (DBD ERROR: OCIServerAttach) at C:\adbtest.pl line 15 I've got a standalone oracle database (11gr1) pointed to by host alias dbserver. If I use dbserver above instead of edc-dbserver, the script works fine. Also, tnsping gives the following C:\>tnsping edc-dbserver TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 29-APR-2010 12:57:46 Copyright (c) 1997, 2005, Oracle. All rights reserved. Used parameter files: C:\oracle\product\10.2.0\client_1\network\admin\sqlnet.ora Used HOSTNAME adapter to resolve the alias Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=edc-dbserver.nais.org))(ADDRESS =(PROTOCOL=TCP)(HOST=10.166.135.110)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)( HOST=10.166.135.112)(PORT=1521))) OK (0 msec) Any help would be greatly appreciated. E. Scott Stricker Senior Software Engineer Northrop Grumman - Information Systems - C2SD MailStop 4S02 2340 Dulles Corner Blvd. Herndon, VA 20171 703-561-3671 703-713-1601 (fax)