joe bayer wrote:
> I just upgrade my Oracle to 10g to a new Oracle HOME.  How could I
> change the pointer of DBI and DBD::oracle to this new home before I
> remove the old home?

You will need to rebuild DBD::Oracle against your new 10g Oracle
installation. Download DBD::Oracle from CPAN and follow the instructions
in the README.

> Is there a way I can let DBI point to two Oracle HOMEs?

You can install DBD::Oracle into two different library locations and
then put those in your PERL5LIB (or perl -I/path/to/lib).

First, install for 9iR2:
  $ export ORACLE_HOME=/path/to/oracle9iR2
  $ perl Makefile.PL INSTALLSITELIB=$HOME/DBD-Oracle-9iR2
  $ make test && make install

Now, install for 10g:
  $ export ORACLE_HOME=/path/to/oracle10g
  $ perl Makefile.PL INSTALLSITELIB=$HOME/DBD-Oracle-10g
  $ make test && make install

Now, you can switch between them by changing ORACLE_HOME and PERL5LIB:

  $ export ORACLE_HOME=/path/to/oracle10g
  $ export PERL5LIB=$HOME/DBD-Oracle-10g:$PERL5LIB
  $ ./script.pl # runs with 10g client

  $ export ORACLE_HOME=/path/to/oracle9iR2
  $ export PERL5LIB=$HOME/DBD-Oracle-9iR2:$PERL5LIB
  $ ./script.pl # runs with 9i client

I think you'll also need to also point LD_LIBRARY_PATH at
$ORACLE_HOME/lib.

- Philip

Reply via email to