遷移過程中出現的open failed錯誤

yangtingkun發表於2009-02-23

在資料庫的遷移過程中,碰到了這個錯誤。

 

 

這次遷移主要是切換儲存,不涉及Oracle版本和平臺的變化,因此整個操作都很簡單,唯一需要注意的是,ORACLE_HOME的位置也發生了變化。

在遷移過程中,採用tar的方法,將ORACLE_HOME整個遷移到目標位置,然後解開目錄,所有工作都進行完畢後,發現Oracle無法登陸了。

bash-2.03$ sqlplus
ld.so.1: sqlplus: fatal: libclntsh.so.9.0: open failed: No such file or directory
Killed

不止是sqlplus命令,包括lsnrctlexp等所有的可執行命令都會出現上面的錯誤資訊。

懷疑是轉移ORACLE_HOME過程中部分資訊丟失導致的問題,解決問題的方法也很簡單,只需要設定LD_LIBRARY_PATH引數指向$ORACLE_HOME/lib目錄,就可以了:

bash-2.03$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
bash-2.03$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 2 23 19:22:04 2009

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Connected to an idle instance.

SQL>

懷疑relink Oracle的可執行檔案同樣可以解決問題,不過由於是產品資料庫,本著謹慎的原則,還是沒有進行編譯動作,將LD_LIBRARY_PATH環境變數新增到Oracle使用者的啟動shell指令碼中,使得oracle使用者登陸系統時自動設定這個引數。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-557499/,如需轉載,請註明出處,否則將追究法律責任。

相關文章