我在Ubuntu中通过Oracle website下载了即时Oracle客户端版本11.2.0.4.0(basic
,sqlplus
,devel
.rpm文件)。
在使用.rpm
将.deb
转换为alien
之后,我安装了它,basic
首先sqlplus
和devel
。
然后我尝试运行sqlplus。
但它是在说sqlplus64: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
即使我的PATH
包含PATH
。
以下显示我的PATH
和libsqlplus.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
答案 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”权限的重要性。
对于除所有者/组以外的任何“其他”UNIX用户能够运行sqlplus并访问ORACLE数据库,对这4个目录需要读取/执行权限(rx):
$ ORACLE_HOME / bin,$ ORACLE_HOME / lib,$ ORACLE_HOME / oracore,$ ORACLE_HOME / sqlplus
环境。正确设置:
一个。 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"