![sqlplus:加载共享库时出错:libsqlplus.so:无法打开共享对象文件:没有此文件或目录](https://linux22.com/image/1082074/sqlplus%EF%BC%9A%E5%8A%A0%E8%BD%BD%E5%85%B1%E4%BA%AB%E5%BA%93%E6%97%B6%E5%87%BA%E9%94%99%EF%BC%9Alibsqlplus.so%EF%BC%9A%E6%97%A0%E6%B3%95%E6%89%93%E5%BC%80%E5%85%B1%E4%BA%AB%E5%AF%B9%E8%B1%A1%E6%96%87%E4%BB%B6%EF%BC%9A%E6%B2%A1%E6%9C%89%E6%AD%A4%E6%96%87%E4%BB%B6%E6%88%96%E7%9B%AE%E5%BD%95.png)
echo $PATH
给出以下结果:
/home/mayank/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java-7-oracle/bin:/usr/lib/jvm/java-7-oracle/db/bin:/usr/lib/jvm/java-7-oracle/jre/bin:/usr/lib/oracle/12.1/client/bin
echo $ORACLE_HOME
获取:
/usr/lib/oracle/12.1/客户端
echo LD_LIBRARY_PATH
给出(之前已经设置/etc/bash.bashrc
好了,但是现在显示如下)
LD_LIBRARY_PATH
执行以下操作vim
显示.bash_profile
以下设置:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" #
Load RVM into a shell session *as a function*
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
PATH=$PATH:/usr/local/bin
export PATH
尽管在上述文件中进行了设置,但运行并重新启动我的机器后ld_library_path
,我仍然没有得到正确的路径!!env
sudo ldconfig
我正在寻找什么帮助:
正确设置环境变量
运行 sqlplus
存在相同问题超级用户,但没有给出解决方案。
答案1
正如评论中所见,您的库位于 /usr/lib/oracle/12.1/client/lib/,但您的路径仅包含 /usr/lib/oracle/12.1/client/bin...您知道为什么找不到该库吗?
您可以使用 /usr/lib/oracle/12.1/client/lib/ 目录(在您的 .profile 或 .environment 或 .bash_profile 中或(如果您希望所有用户都使用)在 /etc/bash.bashrc 文件中)扩展您的 LD_LIBRARY_PATH - 我不知道 sqlplus 是否会处理 LD_LIBRARY_PATH - 只需尝试一下。
要查看 LD_LIBRARY_PATH 的设置,您必须输入:
echo $LD_LIBRARY_PATH
(如果您想读取该值,请注意 $!)
希望这可以帮助!
答案2
该目录下有一些文件/usr/lib/oracle/12.1/client/lib/
其他组无法读取。
cd /usr/lib/oracle/12.1/client/lib/
chmod +r *
然后它在我的环境中运行。