-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Tim,

- From the READMEs that came with the  DBD-Oracle-1.06 package, I figure that 
many folks are attempting to install DBD-Oracle without actually installing 
Oracle.

Unfortunately, the READMEs talk of very old versions of Oracle or there is 
not much about Linux. However, here's how I have been able to do that. I hope 
you will add the following to the README.clients. If I am writing to the 
wrong person, please help me forward to the right person.

Intention:
Install DBD-Oracle-1.06 on Linux without Installing Oracle

Disclaimer:
I do not know *anything* about Oracle. This procedure worked for me. But may 
burn down your system. Be warned!

Software used:
RedHat Linux 7.0 , RedHat Linux 7.1
DBD-Oracle-1.06.tar.gz
Perl 5.6.0

Method:

# Make a dir /usr/local/oracle on the target server
mkdir /usr/local/oracle

# Export the ORA HOME
export ORACLE_HOME=/usr/local/oracle

cd $ORACLE_HOME

# Create needed subdirs for copying
mkdir -p network/admin network/public lib rdbms ocommon jdbc

# From a running Oracle Server on Linux, copy the files (recursively:) 
# I use scp from OpenSSH package. Options -prC are for "keep permissions, 
recursive and enable compression". Here 192.168.1.100 is my Ora DB server.

scp -prC 192.168.1.100:$ORACLE_HOME/network/public/*  network/public/
scp -prC 192.168.1.100:$ORACLE_HOME/network/admin/*  network/admin/
scp -prC 192.168.1.100:$ORACLE_HOME/lib/*       lib/
scp -prC 192.168.1.100:$ORACLE_HOME/rdbms/*     rdbms/
scp -prC 192.168.1.100:$ORACLE_HOME/ocommon/*   ocommon/
scp -prC 192.168.1.100:$ORACLE_HOME/jdbc/*      jdbc/

# Untar and make perl module.
cd /usr/local/src
tar zxvf DBD-Oracle-1.06.tar.gz
cd DBD-Oracle-1.06 

perl Makefile.pl 
make 

# Export the userid/password for Database login to env for testing the perl 
module. You must adjust this suit your settings
export ORACLE_USERID=userid/passwd@dbs

#Edit $ORACLE_HOME/network/admin/tnsnames.ora Ensure you take care of the 
Oracle side of the story (uid/passwd), IP, Port etc. Check with DBA if needed

vi $ORACLE_HOME/network/admin/tnsnames.ora 

make test 
# Make test should say all tests passed 

make install

And that's all. You should have a working DBD_oracle in Linux!

Additional Notes:
If you are installing DBD-Oracle on a web server (as I do), and have 
Apache+mm (Shared Memory library: http://www.engelschall.com/sw/mm/) 
installed, you may see the following message when you "make test" 

make test
PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib 
- -I/usr/lib/perl5/5.6.0/i386-linux -I/usr/lib/perl5/5.6.0 -e 'use 
Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
t/base..............ok 3/5FAILED tests 4-5
        Failed 2/5 tests, 60.00% okay
t/general...........install_driver(Oracle) failed: Can't load 
'blib/arch/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libmm.so.11: 
cannot load shared object file: No such file or directory at 
/usr/lib/perl5/5.6.0/i386-linux/DynaLoader.pm line 200.
 at (eval 1) line 3
Compilation failed in require at (eval 1) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at t/general.t line 20
t/general...........dubious
        Test returned status 255 (wstat 65280, 0xff00)
t/long..............Can't load 'blib/arch/auto/DBD/Oracle/Oracle.so' for 
module DBD::Oracle: libmm.so.11: cannot load shared object file: No such file 
or directory at /usr/lib/perl5/5.6.0/i386-linux/DynaLoader.pm line 200.
 at t/long.t line 4
Compilation failed in require at t/long.t line 4.
BEGIN failed--compilation aborted at t/long.t line 4.
t/long..............dubious
        Test returned status 255 (wstat 65280, 0xff00)
Undefined subroutine &Test::Harness::WCOREDUMP called at 
/usr/lib/perl5/5.6.0/Test/Harness.pm line 334.
make: *** [test_dynamic] Error 255

This is because the MM libraries are sitting in /usr/local/lib and not in /lib
So copy them to /lib

ls /usr/local/lib/libmm*
libmm.a           libmm.la          libmm.so          libmm.so.11       
libmm.so.11.0.23

cp /usr/local/lib/libmm.* /lib/

Now "make test" should be OK.


Regards,
Anand Vaidya
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE7DLqHVJ/jBSla3IsRAnSYAJ4np90JAOPLWXLBbfuV3yFIlnRFZQCfTHTP
j7YNpaxIKM5Wo7cyX0pbmCQ=
=FoRV
-----END PGP SIGNATURE-----

Reply via email to