将資料庫叢集更新到10.2.0.5之後,雙節點伺服器不斷重新開機,查詢oracle oprocd程序日志,資訊如下:
Jul 03 08:16:34.702 | INF | monitoring started with timeout(1000), margin(500), skewTimeout(125)
Jul 03 08:16:34.704 | INF | fatal mode startup, setting process to fatal mode
可以看到看到oprocd程序的時間間隔設定為
timeout(1000), margin(500), skewTimeout(125)
檢視其它的日志資訊,沒有發現明顯的錯誤資訊,是以懷疑是oprocd的時間參數設定不當。
修改參數如下:
#crsctl set css diagwait 13 -force
修改參數時,需要注意如下幾個事項
當我們設定diagwait參數時,需要停止所有rac節點的叢集活動,停止順序如下(如果叢集式活動的,修改diagwait有可能會損害ocr):
1,以root使用者在所有節點執行
#crsctl stop crs
#<CRS_HOME>/bin/oprocd stop
2,确認所有節點的程序已經停止
#ps -ef |egrep "crsd.bin|ocssd.bin|evmd.bin|oprocd"
3,修改參數,僅僅在一個節點修改就可以了
#crsctl set css diagwait 13 -force
4,檢視參數修改情況
#crsctl get css diagwait
5,啟動叢集節點
#crsctl start crs
#crsctl check crs
修改參數後,叢集服務運作正常,沒有再自動重新開機過。