執行srvctl時報錯
[Oracle@rac01 bin]$ srvctl
/u01/app/oracle/product/10.2.0/db_1/jdk/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
srvctl無法啟動
要解決上面的問題 1,編輯 rac01,rac02下的 $ORACLE_BASE/crs/bin目錄下的vipca,以撤消對 LD_ASSUME_KERNEL 的設定。
set nu 在第 120 行左右的 IF 語句之後,添加一條 unset 命令,從而確保 LD_ASSUME_KERNEL 未經過設定,
if [ "$arch" = "i686" -o "$arch" = "ia64" ]
then
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
unset LD_ASSUME_KERNEL
fi
對於 srvctl(在所有節點的 CRS bin 目錄,以及ORACLE_HOME/bin 和 ASM bin 目錄下),通過在第 168 行左右添加一行來取消設定 LD_ASSUME_KERNEL,應如下所示:
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
unset LD_ASSUME_KERNEL <<== Line to be added
註:對所有節點重新編輯這些檔案:
<ORA_CRS_HOME>/bin/vipca
<ORA_CRS_HOME>/bin/srvctl
<ORACLE_HOME>/bin/srvctl
<ASM_HOME>/bin/srvctl # ()
應用 10.2.0.2 或 10.2.0.3 補丁集後,這些補丁集仍將包括這些對 OEL5、RHEL5 或 SLES10 來說多餘的設定。此問題是由開發引起的,在 10.2.0.4 補丁集中得以修複。
另請注意,這裡我們顯式取消設定 LD_ASSUME_KERNEL 而不是僅僅通過將其標為備註陳述式來取消其設定,這是為了處理這樣的情況:使用者在其環境(登入 shell)中設定了該變數。