Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm using Lenovo G580 under intel i5 third generation with 4GB RAM. I'm trying to install Oracle 11g standard edition

After completing all pre installation and post installation procedures, when I started sqlplus I got an error, something like this:

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory

I've searched many websites, but I didn't get clear way to rectify this. What do I need to do to get rid of this error?

share|improve this question
add comment

2 Answers

Unfortunately, Oracle does not set the runtime linker path of the sqlplus binary.

As a quick workaround you can set the LD_LIBRARY_PATH:

$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib

On my Cento-OS system the values are:

$ echo -e $ORACLE_HOME'\n'$LD_LIBRARY_PATH
/home/juser/app/juser/product/11.2.0/dbhome_1
/home/juser/app/juser/product/11.2.0/dbhome_1/lib

You can verify if the library path was set correctly via:

$ ldd $ORACLE_HOME/bin/sqlplus

Which should output something like:

[..]
    libsqlplus.so => /home/juser/app/juser/product/11.2.0/dbhome_1/lib/libsqlplus.so (0x00007fc58e70f000)
    libclntsh.so.11.1 => /home/juser/app/juser/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1 (0x00007fc58c0e3000)
share|improve this answer
    
i got like this: linux-gate.so.1 => (0xb76e8000) libsqlplus.so => not found libclntsh.so.11.1 => not found libnnz11.so => not found libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb76c7000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb769b000) libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7680000) libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0xb7666000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74bb000) /lib/ld-linux.so.2 (0xb76e9000) –  Thiyagu Jun 15 '13 at 8:11
    
@Thiyagu, hm, looks like your ORACLE_HOME is not set correctly - you have to verify where the needed shared libraries were installed, e.g. find $ORACLE_HOME -name 'libclntsh.so*' –  maxschlepzig Jun 15 '13 at 8:19
    
no dude..i've checked oracle_home,that value is correct.. installation path:/u01/app/oracle/product/11.2.0/dbhome_1 –  Thiyagu Jun 15 '13 at 8:24
    
while installing Oralce11g standard edition i faced an error "Install Oracle fails: error in invoking target 'client_sharedlib'" i just skipped it and continue the process.dose this cause an error? –  Thiyagu Jun 15 '13 at 8:27
    
@Thiyagu, probably - perhaps the libclntsh.so & co. shared library files just weren't copied then. You can verify this via the above find command. –  maxschlepzig Jun 15 '13 at 8:30
show 5 more comments

Potential Issue #1

Your issue is most likely being caused by sqlplus' .so libraries not being on the LD_LIBRARY_PATH. You can set this environment variable so that it's correct:

 # /path/to/11g/folder/where/sqlpluslib
 $ export LD_LIBRARY_PATH=/path/to/11g/folder/where

Potential Issue #2

Based on your comments on my answer and on @maxschlepzig answer I would surmise that your installation wasn't done correctly. I would suggest doing the installation again. Oracle can be a bit tricky to install.

Here are some instructions specifically geared for 11gR2 and Ubuntu 12.04.

share|improve this answer
    
ya even i thought this might be the problem but this is not.see my ENV variables... export ORACLE_HOME=u01/app/oracle/product/11.2.0/dbhome_1 export PATH=$PATH:/u01/app/oracle/product/11.2.0/dbhome_1/bin export ORACLE_OWNR=oracle export ORACLE_SID=orcl LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH –  Thiyagu Jun 15 '13 at 7:50
    
@Thiyagu, adding /lib:/usr/lib to LD_LIBRARY_PATH should not be necessary - the dynamic linker lookups by default in those directories. –  maxschlepzig Jun 15 '13 at 8:05
    
ok...but even-though i removed those links form my ENV,but still 'm getting the error. –  Thiyagu Jun 15 '13 at 8:14
    
@Thiyagu, sure - they are just redundant - unnecessary. –  maxschlepzig Jun 15 '13 at 8:28
    
@maxschlepzig:ya i've removed..new ENV is LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH –  Thiyagu Jun 15 '13 at 8:32
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.