控制檔案不一致引發的“血案”

沃趣科技發表於2018-04-26


  | 故障發生

近日,某客戶透過QMonitor監控軟體發現一個備庫報警,需要遠端支援。透過客戶發出的告警截圖可以判斷該備庫已經掛掉。由於該客戶不擅長技術方面,所以無法提供過多的資訊。





    故障恢復

登上備庫主機,檢查環境為11g單例項ASM,作業系統為RedHat6.5。資料庫例項確認為關閉狀態,ASM例項狀態正常。所以直接進行備庫例項開啟,啟動備庫後開啟實施日誌恢復程式,操作一切順利,沒有異常。

 
| 問題深究
透過和現場值守人員交流,該備庫在VMware虛擬機器上執行,儲存會定時進行備份,該備庫近期一直無人操作,可以排除人為關庫。只好透過檢視資料庫alert日誌確定備庫關閉原因。可以發現alert日誌記載的非常明顯。




The controlfile header block returned by the OS has a sequence number that is too old.The controlfile might be corrupted. 
當多副本控制檔案內部sequence不一致就會產生該錯誤。據MOS上文件 1589355.1 的描述,這種情況大多是因為儲存錯誤或者IO錯誤的情況引起的


  | 改進措施

由於暫時無法解決儲存端的問題,而且該備庫因為此原因發生關閉的情況已經出現了兩次,所以為了預防此問題的發生,根據文件1589355.1 的建議,修改隱藏引數 _controlfile_update_check


點選(此處)摺疊或開啟

  1. SQL> alter system set "_controlfile_update_check"='OFF' scope=spfile;


設定該引數後,每次控制檔案更新時,資料庫都會去檢查控制檔案狀態。保證資料庫的健壯性。

在未來如果解決了IO低效的問題,可以再次將該引數設定為預設值。

點選(此處)摺疊或開啟

  1. SQL> alter system set "_controlfile_update_check"='OFF' scope=spfile;


  | 作者簡介

陳康,沃趣科技資料庫技術專家

主要參與公司產品實施、測試、維護以及最佳化。



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

相關文章