crs reboot_toc引起主機重啟問題(patch sets:MLR#10 6273339)

ysping發表於2009-08-06

系統剛上線時,RAC的一個節點出現幾次因reboot_toc重啟。

現象:

當前主機情況:

資料庫伺服器的配置如下,cpu啟用數為16個。

System Name : HP-UX

Model : server rx8640

HP-UX version : B.11.23

CPU type : IA64 (400 Mhz)

CPU Architecture : IA-64 0

當前資料庫情況:

crs 10.2.0.3 + oracle 10.2.0.3 (rac)

當前問題:

在兩節點rx8640oracle rac環境下,節點1的作業系統曾經出現幾次無故重起現象,,資料庫層面上資料庫的告警日誌和crs都缺少產生的日誌(未產生),hp工程師透過主機問題產生的core檔案分析,認為是oraclecrs引起的,發現是由./app/oracle/product/10.2.0/crs/bin/reboot_toc (屬於oracle rac)程式重啟了作業系統。

[@more@]

分析原因:

1. hp工程師對core檔案分析結果來看,主機的重起是由於oracleocssd程式的問題引起的。

2. metalink上也有這樣的案例,環境和我們遇到的一樣,它提到了一個oracle base bug 5679565,但還尚未給出明確的解決方法。

3. 透過與oracle rac pack小組聯絡,把相關日誌發給他們看後,建議我們打oracle10.2.0.3基礎上的patch setsMLR#10 6273339。他們認為此問題在這個補丁集中得到了解決。

解決辦法:

根據oracle rac pack小組的建議,對此oracle資料庫進行升級,下面是具體的升級步驟:

1. metalink網站上下載MLR#10 6273339,把它複製到$ORA_CRS_HOME/OPatch目錄下

2. % unzip p6273339_10203_HPUX-IA64.zip

3. 關閉資料庫和crs叢集,以oracle使用者執行:

% $ORACLE_HOME/bin/srvctl stop database -d ysdb

% $ORACLE_HOME/bin/srvctl stop nodeapps -n 8640a

% $ORACLE_HOME/bin/srvctl stop nodeapps -n 8640b

root使用者執行:

$ORA_CRS_HOME/bin/crsctl stop crs

4. root使用者執行下面命令unlock受保護的檔案:

$ORAC_CRS_HOME/OPatch/6273339/custom/scripts/prerootpatch.sh -crshome /u01/app/oracle/product/10.2.0/crs -crsuser oracle

5. oracle使用者執行下面命令,在升級前儲存當前重要的配置設定:

$ORAC_CRS_HOME/OPatch/6273339/custom/scripts/prepatch.sh -crshome /u01/app/oracle/product/10.2.0/crs

$ORAC_CRS_HOME/OPatch/6273339/custom/scripts/prepatch.sh -dbhome /u01/app/oracle/product/10.2.0/db

6. Patch補丁檔案集:

Patch the CRS home files

oracle使用者執行下面命令:

cp $ORA_CRS_HOME/OPatch/6273339/* $ORA_CRS_HOME/OPatch/

% opatch apply -local -oh /u01/app/oracle/product/10.2.0/crs

Patch the RDBMS home files

oracle使用者執行下面命令:

% opatch apply custom/server/6273339 -local -oh /u01/app/oracle/product/10.2.0/db

7. Configure the HOME

在第6步中patch完之後,一些配置設定需要應用到已打的補丁檔案中,以oracle使用者執行下面命令:

% $ORA_CRS_HOME/OPatch/custom/scripts/postpatch.sh -crshome /u01/app/oracle/product/10.2.0/crs

% $ORA_CRS_HOME/OPatch/custom/server/6273339/custom/scripts/postpatch.sh -dbhome /u01/app/oracle/product/10.2.0/db

7. 接下來需要在CRS Home上做些恢復,同時它會啟動CRS守護程式,以root使用者執行下面命令:

% $ORA_CRS_HOME/OPatch/custom/scripts/postrootpatch.sh crshome /u01/app/oracle/product/10.2.0/crs

8. 最後,檢查oracle相關服務是否已全部啟動,並驗證該補丁程式是否已打上:

% opatch lsinventory -detail -oh

% opatch lsinventory -detail -oh

注意,在這裡打完補丁後,發現vip服務無啟動,用crs_start進行手動啟動時只是報vip無法啟動,並在crsd log下發現不了有用的資訊。透過換成用srvctl命令手動啟動時,卻把無法啟動的原因的詳細的提示,原來是因為作業系統上沒有指定閘道器導致vip無法啟動(此問題以前遇到過)。重新設定閘道器後,vip重常啟動。整個升級過程完成。

根據oracle的說法,此問題已得到了解決,但在我們這邊目前是無法得到證實,因為此問題本來就是確定性,無法透過類似壓力測試等方式人為的模擬出來,只能是透過時間來證明。

注:該補丁打過過已經一年多沒出現過這種問題了!

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

相關文章