sqlplus:載入共用程式庫時發生錯誤:libsqlplus.so:無法開啟共享物件檔案:沒有這樣的檔案或目錄

sqlplus:載入共用程式庫時發生錯誤:libsqlplus.so:無法開啟共享物件檔案:沒有這樣的檔案或目錄
  • 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/client

  • 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我仍然沒有獲得正確的路徑!envsudo 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 *

然後它就可以在我的環境中運作了。

相關內容