echo $PATH
给出以下结果:
/home/dagda/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
)
在 /usr/local/lib 中
执行以下操作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
我成为 Linux 用户的时间很短...所以不太清楚解决方法...如果您能指导我,我将不胜感激!!!
答案1
您$LD_LIBRARY_PATH
未包含 Oracle 库的路径。您的 bash 配置文件显示:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
该行应更改为:
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib:/usr/local/lib"
或者,您可以将此行添加到设置$ORACLE_HOME
变量的任何位置(使用导出)。确保$ORACLE_HOME
先设置。
从您的$ORACLE_HOME
值可以看出 Oracle 库位于:
/usr/lib/oracle/12.1/client/lib
因此,这需要放在您的 中$LD_LIBRARY_PATH
。在某些情况下,例如 instantclient,您可能需要添加到$ORACLE_HOME
。$LD_LIBRARY_PATH
还要确保库文件本身是可读的。
您可以使用ldd
来验证库路径是否正确:
ldd $ORACLE_HOME/bin/sqlplus