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

 [EMAIL PROTECTED] ~]$echo $ORACLE_HOME/lib >> /etc/ld.so.conf   => OK
 [EMAIL PROTECTED] ~]$/sbin/ldconfig: 
/home/oracle/oracle/product/10.2.0/oraclient/lib/libexpat.so.0 is not a 
symbolic link
 [EMAIL PROTECTED] ~]$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

Reply via email to