Ubuntu 即使设置了LD_LIBRARY_PATH,SQLPlus客户端也无法运行

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时

我正在尝试从终端执行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时,我遇到以下错误:

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
只有在终端上显式导出路径时,才能解决此问题:

export
LD\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