控制檔案不一致引發的“血案”
| 故障發生
近日,某客戶透過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
點選(此處)摺疊或開啟
- SQL> alter system set "_controlfile_update_check"='OFF' scope=spfile;
設定該引數後,每次控制檔案更新時,資料庫都會去檢查控制檔案狀態。保證資料庫的健壯性。
在未來如果解決了IO低效的問題,可以再次將該引數設定為預設值。
點選(此處)摺疊或開啟
- SQL> alter system set "_controlfile_update_check"='OFF' scope=spfile;
| 作者簡介
陳康,沃趣科技資料庫技術專家
主要參與公司產品實施、測試、維護以及最佳化。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28218939/viewspace-2153381/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- .Net版本引發的血案
- RestTemplate超時引發的血案REST
- JDBC亂碼引發的"血案"JDBC
- SwipeRefreshLayout 引發的一場血案
- vue watch陣列引發的血案Vue陣列
- _nop_()函式引發的血案函式
- Flutter 中由 BuildContext 引發的血案FlutterUIContext
- Maven依賴版本號引發的血案Maven
- 一個 Handler 面試題引發的血案!!!面試題
- 一個map函式引發的血案函式
- 一道面試題引發的“血案”面試題
- 建立新的控制檔案,更改引數
- async,await與forEach引發的血案AI
- js正則全域性匹配引發的血案JS
- 一個ES設定操作引發的“血案”
- 實戰|一個表白牆引發的“血案”
- 一場由postcss-bem引發的血案CSS
- 一個全形空格引發Jquery取值的“血案”jQuery
- #iOS AF上傳圖片引發的血案iOS
- alter index rebuild online引發的血案IndexRebuild
- 【RMAN】Oracle_rman中skip引發的血案Oracle
- 一場 Kafka CRC 異常引發的血案Kafka
- oracle控制檔案及引數檔案問題Oracle
- 備份與恢復--重新控制檔案資料字典和控制檔案不一致的恢復
- 【原創】一對雙引號引發的goldengate血案Go
- MySQL 中一個雙引號的錯位引發的血案MySql
- 引數檔案控制檔案和資料檔案丟失的恢復
- 一個系統BUG引發的血案 -- FKDownloader
- 斷點除錯之壓縮引發的血案斷點除錯
- Mybatis+0+null,小問題引發的血案MyBatisNull
- [WCF]缺少一行程式碼引發的血案行程
- 一行程式碼引發的”血案“!!!(軟體開發、專案管理、skycto JEEditor)行程專案管理
- 開啟 控制檔案自動備份下,引數檔案、控制檔案全部丟失恢復
- 從控制檔案自動備份還原引數檔案
- 事故現場:MySQL 中一個雙引號的錯位引發的血案MySql
- 【控制檔案】映象控制檔案
- 控制檔案版本不一致下恢復資料庫資料庫
- ORA-00214控制檔案版本不一致.txt