libsqlplus.so:connot open共享对象文件:即使PATH包含路径,也没有这样的文件或目录

时间:2015-08-13 02:02:03

标签: oracle11g client shared-libraries ubuntu-12.04

我在Ubuntu中通过Oracle website下载了即时Oracle客户端版本11.2.0.4.0(basicsqlplusdevel .rpm文件)。 在使用.rpm.deb转换为alien之后,我安装了它,basic首先sqlplusdevel

然后我尝试运行sqlplus。

但它是在说sqlplus64: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory

即使我的PATH包含PATH

以下显示我的PATHlibsqlplus.so的位置。

A@ubuntu:~$ sudo find / -name libsqlplus.so
/usr/lib/oracle/11.2/client64/lib/libsqlplus.so

A@ubuntu:~$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/sangmin/eclipse:/usr/lib/oracle/11.2/client64/lib:/usr/lib/oracle/11.2/client64

2 个答案:

答案 0 :(得分:15)

测试您的Oracle客户端。用户 sqlplus sqlplus64 ,具体取决于您的平台。就我而言,我用过:

$ sqlplus64 username/password@//dbhost:1521/SID

如果你收到下一条消息,那么你需要指示sqlplus使用正确的libray:

  

sqlplus64:加载共享库时出错:libsqlplus.so:无法打开共享对象文件:没有这样的文件或目录。

为此,首先要找到Oracle库的位置。路径应该类似于/usr/lib/oracle/<version>/client(64)/lib/。在我的情况下(Ubuntu 14.04 LTS,64位英特尔),它是/usr/lib/oracle/11.2/client64/lib/

现在,将此路径添加到系统库列表中。创建和编辑新文件:

$ sudo nano /etc/ld.so.conf.d/oracle.conf

在路径中添加:

/usr/lib/oracle/11.2/client64/lib/

立即运行动态链接器运行时绑定实用程序:

$ sudo ldconfig

如果sqlplus产生了丢失的libaio.so.1文件,请运行:

$ sudo apt-get install libaio1

尝试运行sqlplus时遇到其他错误,请参阅Ubuntu帮助页面。

答案 1 :(得分:0)

可能值得检查权限问题: sqlplus: error while loading shared libraries

权限: 我想强调“sqlplus”权限的重要性。

  1. 对于除所有者/组以外的任何“其他”UNIX用户能够运行sqlplus并访问ORACLE数据库,对这4个目录需要读取/执行权限(rx):

    $ ORACLE_HOME / bin,$ ORACLE_HOME / lib,$ ORACLE_HOME / oracore,$ ORACLE_HOME / sqlplus

  2. 环境。正确设置:

    一个。 ORACLE_HOME      (例如:ORACLE_HOME=/u01/app/oranpgm/product/12.1.0/PRMNRDEV/

    B中。 LD_LIBRARY_PATH (例如:ORACLE_HOME=/u01/app/oranpgm/product/12.1.0/PRMNRDEV/lib

    ℃。 ORACLE_SID

    d。 PATH

     export PATH="$ORACLE_HOME/bin:$PATH"