Hi DBI experts,
Could you please help me to resolve this Perl Oracle DBD problem.
I am using Oracle Client 10g, Perl 5.8.5 (default from RedHat ES4 installation) and Oracle-DBD-1.18.
The SQLPLUS and Perl cgi program runs and displays output as expected without any errors from the command line
I have the following error when running perl CGI script using Oracle DBD from the web browser:
"install_driver(Oracle) failed: Can't load '/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.10.1: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/DynaLoader.pm line 230. 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"
I searched on google and tried the suggestions from forums but still get the problem unsolved. These are what I tried:
1. I've added /home/oracle/oracle/product/10.2.0/oraclient/lib to /etc/ld.so.conf and run "ldconfig" as shown below
[root@NetWatch ~]$echo $ORACLE_HOME/lib >> /etc/ld.so.conf => OK
[root@NetWatch ~]$/sbin/ldconfig: /home/oracle/oracle/product/10.2.0/oraclient/lib/libexpat.so.0 is not a symbolic link
[root@NetWatch ~]$ldd /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.so
libclntsh.so.10.1 => /home/oracle/oracle/product/10.2.0/oraclient/lib/libclntsh.so.10.1 (0x00559000)
libdl.so.2 => /lib/libdl.so.2 (0x00111000)
libm.so.6 => /lib/tls/libm.so.6 (0x00115000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00138000)
libnsl.so.1 => /lib/libnsl.so.1 (0x0014a000)
libc.so.6 => /lib/tls/libc.so.6 (0x00218000)
libnnz10.so => /home/oracle/oracle/product/10.2.0/oraclient/lib/libnnz10.so (0x083c4000)
/lib/ld-linux.so.2 (0x00542000)
2. I put the following environment variables in the configuration file httpd.conf:
SetEnv LD_LIBRARY_PATH /home/oracle/oracle/product/10.2.0/oraclient/lib
SetEnv ORACLE_HOME /home/oracle/oracle/product/10.2.0/oraclient
3. I've given authority/access to every folder/object listed in the above paths to the user I am using.
4. Making sure all files were accesable and also need to make some links from the $ORACLE_HOME/lib dir to the */lib dir that perl can access.
5. All authority/access and symbolic links for libclntsh.so.10.1, libclntsh.so, libocci.so.10.1 and libocci.so are set up properly in /home/oracle/oracle/product/10.2.0/oraclient/lib
lrwxrwxrwx 1 oracle oracle 66 Aug 17 08:25 libclntsh.so -> /home/oracle/oracle/product/10.2.0/oraclient/lib/libclntsh.so.10.1
-rwxrwxrwx 1 oracle oracle 0 Aug 23 10:34 libclntsh.so.10.1
lrwxrwxrwx 1 oracle oracle 15 Aug 17 08:25 libocci.so -> libocci.so.10.1
-rwxrwxrwx 1 oracle oracle 0 Aug 23 10:38 libocci.so.10.1
Could you please suggest me what else I should try to resolve this problem? I searched on google extensively but found no other sources of solutions beside those listed above.
Thanks,
Keith Lam
Corporate Security (IPC)
Tel: 416-327-1941
Thread Next