RE: Perl DBI connection with RAC environment

  • From: "Peter McLarty" <p.mclarty@xxxxxxxxxx>
  • To: "Sanjay Mishra" <smishra_97@xxxxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 5 Apr 2007 14:26:04 +1000

Yes thats it as you can sqlplus to the sansrv you can dbi to the sansrv
I loose the host ip and let dbi find its way with tnsnames and let
oracle Net do the work for me
But if you have set up tnsname to have sansrv as a service with
mumtliple hosts then you can specify the tnsnames entry for it and then
you are in action as your tnsnames will have all nodes in its entry. 
      (ADDRESS = (PROTOCOL = TCP)(HOST = host-vip)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = bhost-vip)(PORT = 1521))
      (LOAD_BALANCE = yes)
        (TYPE = SELECT)
        (METHOD = BASIC)
        (RETRIES = 180)
        (DELAY = 5)
With this the Oracle Net takes over working out which instance to
connect to and if a node fails then load balancing simply relocates your
connection to a new node
I have this in a perl script for connecting and use the database name
not the instance for the variable $_[0] this is used for an admin
scripthence the / as username
Seems to work relaibly although not been used in production
my $dsn = "dbi:Oracle:$_[0]";

my $dbh = DBI->connect( $dsn, '/', '',


ora_session_mode => 2,

RaiseError => 1,

AutoCommit => 0





From: Sanjay Mishra [mailto:smishra_97@xxxxxxxxx] 
Sent: Thursday, 5 April 2007 01:05 PM
To: Peter McLarty; oracle-l@xxxxxxxxxxxxx
Subject: RE: Perl DBI connection with RAC environment

It means that If I have created a service on RAC as SANSRV where I had
specified both node as preferred and TAF to SELECT. Now It means I can
Host - VIP of any of the RAC Node
Please correct me if I am wrong



        The fish are biting.
        Get more visitors
>  on your site using Yahoo! Search Marketing.


Food fight?
id=396545367>  Enjoy some healthy debate
in the Yahoo! Answers Food & Drink Q&A.

Other related posts: