我使用的是配备 4GB RAM 的第三代英特尔 i5 的联想 G580。我正在尝试安装Oracle 11g标准版
完成所有预安装和安装后过程后,当我启动 sqlplus 时,出现错误,如下所示:
sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
我搜索了很多网站,但没有找到明确的方法来纠正这个问题。我需要做什么才能消除这个错误?
答案1
不幸的是,Oracle 没有设置 sqlplus 二进制文件的运行时链接器路径。
作为快速解决方法,您可以设置LD_LIBRARY_PATH
:
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
在我的 Cento-OS 系统上,这些值为:
$ 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
您可以通过以下方式验证库路径是否设置正确:
$ ldd $ORACLE_HOME/bin/sqlplus
应该输出如下内容:
[..]
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)
答案2
潜在问题#1
您的问题很可能是由于 sqlplus 的 .so 库不在LD_LIBRARY_PATH
.您可以设置此环境变量以使其正确:
# /path/to/11g/folder/where/sqlpluslib
$ export LD_LIBRARY_PATH=/path/to/11g/folder/where
潜在问题#2
根据您对我的答案和 @maxschlepzig 答案的评论,我推测您的安装未正确完成。我建议再次安装。 Oracle 安装起来可能有点棘手。
以下是一些专门针对 11gR2 和 Ubuntu 12.04 的说明。