【ASK_ORACLE】RAC節點自動重啟但日誌裡未報錯的原因和解決方法

Attack_on_Jager發表於2022-05-19

前言

你有沒有遇到過:有時候會發現RAC節點的CRS服務會自動重啟,但是日誌裡卻沒有記錄報錯和重啟原因。下面就來看看為什麼會發生還有解決辦法吧!


節點自動重啟原因

1.當叢集節點掛起一段時間或者一個或多個關鍵 CRS 程式無法被CPU排程時,會發生這種情況。可以但這種情況並不是由於CPU資源耗盡導致,而是因為那些程式都以實時優先順序執行,所以可能是因為記憶體耗盡或者可用記憶體低導致。

2. 如果是資料庫程式問題導致,則oprocd、cssdmonitor 和 cssdagent這三個程式可能會導致節點重啟,並且日誌檔案沒有顯示任何錯誤。

3. 可能是由於此時核心交換頁的非常繁忙或者是為了標識要釋放的頁而正忙於掃描記憶體。

4. 可能存在 OS 排程時的bug。


解決辦法

1. 如果 CRS 版本為 11.1 或者更低,需要把“diagwait”設定為13

2. 如果OS為AIX,需要最佳化AIX VM引數,方法可參考MOS 811293.1

3. 如果OS為Linux,需要啟用記憶體大頁(Hugepage),並停用透明大頁(Transparent HugePages)將核心引數“vm.min_free_kbytes”設定為512MB,將“swappiness”設定為100。如果核心版本小於等於2.6.18(例如:RHEL 5,Oracle Linux 5,SLES 10),則設定核心引數swappiness 為100

注:

1)配置記憶體大頁的方法請參考本人的另一篇文章: http://blog.itpub.net/69992972/viewspace-2764357/

2)禁用透明大頁的方法請參考本人的另一篇文章: http://blog.itpub.net/69992972/viewspace-2764784/

4. 檢查是否有大量記憶體分配給了作業系統的 IO 緩衝區快取記憶體。如果有,就需要減少 IO 緩衝區快取記憶體量,或者增加從 IO 緩衝區快取記憶體回收記憶體的比率

5. 增加OS記憶體大小


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

相關文章