天天看點

11.2.0.3 ASM執行個體出現ORA-4031錯誤導緻資料庫歸檔失敗

環境:

平台:RedHat EnterPrise 5.8 X86_X64

資料庫:Oracle EnterPrise 11.2.0.3

叢集軟體:Oracle grid 11.2.0.3

故障現象:

資料庫出現了歸檔失敗,其中有一個節點的執行個體出現HANG死的狀況。

日志資訊如下:

分析:

   由于歸檔失敗發生在ASM磁盤上,首先檢查ASM磁盤空間以及DB_RECOVERY_FILE_DEST_SIZE,ASM磁盤空間是足夠的,而且由于隻有一個節點出現出現了無法歸檔的問題,也可以排除是空間不足造成的。确認兩個節點的DB_RECOVERY_FILE_DEST_SIZE參數設定都是0,基本上可以判斷問題和目前節點的ASM執行個體狀态不正常有關。

檢查ASM執行個體的錯誤資訊:

目前節點ASM執行個體出現了的這個資訊,說明報錯發生在執行個體2上:

 果然執行個體2上的ASM出現了大量ORA-4031錯誤。檢查ASM啟動的參數配置:

調整及建議:

目前ASM執行個體使用預設的MEMORY_TARGET配置,配置設定大小大約是400M,根據Oracle的MOS文章:ASM & Shared Pool (ORA-4031) [ID 437924.1],在11.2.0.3中,Oracle增加了ASM執行個體所允許的預設程序數PROCESSES,但是預設的MEMORY_TARGET參數沒有增加。

根據Oracle的建議,11.2.0.3的MEMORY_TARGET至少應該設定到1536M,而MEMORY_MAX_TARGET設定為4096M。

對于目前的情況,如果短時間内無法重新開機DB和ASM執行個體,可以在問題節點配置一個本地歸檔路徑,設定目标路徑為本地磁盤,進而避免歸檔無法完成而導緻的執行個體HANG死。