Ubuntu 即使设置了LD_LIBRARY_PATH,SQLPlus客户端也无法运行
我正在尝试从终端执行sqlplus。我已经定义了bash\u概要文件,并在下面添加了LD\u LIBRARY\u路径行:Ubuntu 即使设置了LD_LIBRARY_PATH,SQLPlus客户端也无法运行,ubuntu,terminal,sqlplus,Ubuntu,Terminal,Sqlplus,我正在尝试从终端执行sqlplus。我已经定义了bash\u概要文件,并在下面添加了LD\u LIBRARY\u路径行: [[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile LD_LIBRARY_PATH=/usr/local/instantclient_12_2:${LD_LIBRARY_PATH} export LD_LIBRARY_PATH 调用sqlplus时
[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
LD_LIBRARY_PATH=/usr/local/instantclient_12_2:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
调用sqlplus时,我遇到以下错误:
sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
只有在终端上显式导出路径时,才能解决此问题:
exportLD\u LIBRARY\u PATH=/usr/local/instantclient\u 12\u 2:${LD\u LIBRARY\u PATH}
如果我已经在bash_概要文件中定义了这个,那么为什么错误仍然存在
注意:更改后,我注销并重新启动计算机以刷新环境。但是没有成功。我建议您在.bashrc中设置变量$ORACLE\u HOME。.bashrc(在bashrc之前提到点)应该放在您的主目录中。使用命令cd到达(无参数) 然后在.bashrc中使用它,如下所示:
export PATH=$ORACLE_HOME:$ORACLE_HOME/bim:$PATH
这应该能解决你的问题
如果不使用,请考虑使用LD-LabalyApple PATH变量,并将其指向所需的.so库。 例如
使用~/.bashrc而不是~/.bash_profile,并将导出LD_LIBRARY_PATH=/usr/local/instantclient_12_2:${LD_LIBRARY_PATH}放在那里。在环境文件的名称前提到点。它是有效的。那么,为什么bashrc比bash_profile更受欢迎呢?bash_profile在登录时执行一次。您可以将mem、cpu或磁盘统计信息放在那里。另一方面,bashrc在登录和其他shell调用方法上都执行。我的意思是sudo,/bin/bash等等,正如你所说的,bashrc只是简单地工作。
export PATH=$ORACLE_HOME:$ORACLE_HOME/bim:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH