在RAC 中解決 vipca 和 srvctl 無法執行的錯誤

秋去天無邊發表於2016-05-31

問題一: vip建立問題

/home/oracle/crs/oracle/product/10/crs/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file解決方法:
這個錯誤一般是在 5上裝 時會碰到的,當介面提示你用root指令碼執行相應指令碼時碰到,如:
CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps
/home/oracle/crs/oracle/product/10/crs/jdk/jre//bin/java: error while loading
shared libraries: libpthread.so.0: cannot open shared object file:
No such file or directory
其實這是無法完成vipca工作導致的,你可以用以下方法解決:
方法1.不去理會,選擇繼續,然後安裝10.2.0.4及以上版本的patchsets,然後在來手工執行vipca完成vip配置工作,因為這個錯誤在10.2.0.4版本中已經得到修復
方法2.手工配置
<CRS_HOME>/bin # ./oifcfg setif -global eth0/192.168.1.0:public
<CRS_HOME>/bin # ./oifcfg setif -global eth1/10.10.10.0:cluster_interconnect
<CRS_HOME>/bin # ./oifcfg getif
 eth0 192.168.1.0 global public
 eth1 10.10.10.0 global cluster_interconnect

<CRS_HOME>/bin # ./oifcfg iflist
eth0 192.168.1.0
eth1 10.10.10.0

./vipca
然後選擇圖形介面裡的重新驗證,這樣就可以透過了

george.ma blog:http://blog.chinaunix.net/u/12521/

參選metalink文件 ID: 414163.1
問題二:srvctl 執行報錯
[oracle@rac3 ~]$ srvctl status nodeapps -n rac1
/u01/app/oracle/product/10.2.0/crs_1/jdk/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
oracle@orarac1 ~]$ srvctl status database -d orcl
/ora/app/oracle/product/10.2/db_1/jdk/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
[oracle@orarac1 ~]$
看到這個錯誤,想起當初安裝完10.2.0.1的rac時也發生過此錯誤。就是一時想不起當時怎麼處理的。現在是升級到0.3的rac系統。
找出升級前的資料,用備份資料中的srvctl指令碼執行
/bak/oracle/app/crs/bin/srvctl status database -d orcl
呵呵,沒有報錯。檢查了了n久的指令碼,才找出不同來(呵呵,不夠細心)
#Remove this workaround when the bug 3937317 is fixed
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL

只要註釋掉這兩行就ok了

另外在安裝rac時vipca指令碼也是類似錯誤
/app/oracle/product/10.2.0/crs/bin/crsctl.bin: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
這個問題是新版的glibc和10g有不相容的地方。按照官方文件要在執行root.sh之前修改vipca指令碼。這樣就可以安裝了。即將該指令碼中arch=‘’uname -m‘以下4行註釋掉
arch=`uname -m`
#if [ "$arch" = "i686" -o "$arch" = "ia64" -o "$arch" = "x86_64" ]
#then
# LD_ASSUME_KERNEL=2.4.19
# export LD_ASSUME_KERNEL
#fi
#End workaround
這樣就不會出現錯誤了。
 
我安裝上面的提示註釋掉了,或使用unset LD_ASSUME_KERNEL還是報錯
[oracle@rac3 ~]$ srvctl status database -d orcl
/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,
仔細看一下原來時呼叫db_1中Java類庫,重新設定一下path 變數的順序就ok了

[oracle@rac3 ~]$ srvctl status nodeapps -n rac1
VIP is running on node: rac1
GSD is running on node: rac1
Listener is running on node: rac1
ONS daemon is running on node: rac1
export PATH=$ORA_CRS_HOME/bin:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin 注意前面兩個的順序,Oracle的bug還真是一堆一堆的!

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

相關文章