在Oracle Linux内核上以静默方式安装Oracle 11.2g后,出现以下错误:
[u01/app/oracle/product/11/bin] $sqlplus
sqlplus error while loading shared libraries: libsqlplus.so: cannot open shared
object file: No such file or directory
但是,共享对象似乎设置正确:
[/u01/app/oracle/product/11/lib] $ls -lrt /u01/app/oracle/product/11/lib | grep sqlplus
-rw-r--r--. 1 oracle oinstall 1475820 Aug 1 2009 libsqlplus.a
-rwxr-xr-x. 1 oracle oinstall 1218075 Aug 1 2009 libsqlplus.so
用户是oracle:
[oracle ~]$id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
环境变量是:
[oracle ~]$env
USER=oracle
LD_LIBRARY_PATH=/u01/app/oracle/product/11/lib
ORACLE_SID=orcl
ORACLE_BASE=/u01/app/oracle
PATH=/usr/lib/qt-3.3/bin:/usr/local/bin
:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin: /home/oracle/bin
:/u01/app/oracle/product/11/bin
HOME=/home/oracle
ORACLE_HOME=/u01/app/oracle/product/11
内核版本:
2.6.32-300.3.1.el6uek.i686
*更新答案*
[oracle@orcus lib]$ldd /u01/app/oracle/product/11/bin/sqlplus
linux-gate.so.1 => (0xb771f000)
libsqlplus.so => /u01/app/oracle/product/11/lib/libsqlplus.so (0xb766e000)
libclntsh.so.11.1 => not found
libnnz11.so => /u01/app/oracle/product/11/lib/libnnz11.so (0xb7415000)
libdl.so.2 => /lib/libdl.so.2 (0x4c5dc000)
libm.so.6 => /lib/libm.so.6 (0x4c616000)
libpthread.so.0 => /lib/libpthread.so.0 (0x4c5e3000)
libnsl.so.1 => /lib/libnsl.so.1 (0x4caef000)
libc.so.6 => /lib/libc.so.6 (0x4c44a000)
/lib/ld-linux.so.2 (0x4c424000)
libclntsh.so.11.1 => not found
* chmod / u01 / app / oracle / product / 11 / lib / libclntsh * *之后
$ldd /u01/app/oracle/product/11/bin/sqlplus
linux-gate.so.1 => (0xb7831000)
libsqlplus.so => /u01/app/oracle/product/11/lib/libsqlplus.so (0xb7780000)
libclntsh.so.11.1 => /u01/app/oracle/product/11/lib/libclntsh.so.11.1 (0xb5a7b000)
libnnz11.so => /u01/app/oracle/product/11/lib/libnnz11.so (0xb582e000)
libdl.so.2 => /lib/libdl.so.2 (0x4c5dc000)
libm.so.6 => /lib/libm.so.6 (0x4c616000)
libpthread.so.0 => /lib/libpthread.so.0 (0x4c5e3000)
libnsl.so.1 => /lib/libnsl.so.1 (0x4caef000)
libc.so.6 => /lib/libc.so.6 (0x4c44a000)
libaio.so.1 => /lib/libaio.so.1 (0x4c446000)
/lib/ld-linux.so.2 (0x4c424000)
知道为什么SQLPlus抱怨libsqlplus.so吗?
解决方法:
使libclntsh可执行:
chmod +rx /u01/app/oracle/product/11/lib/libclntsh*
然后再次检查上面注释的ldd命令.