標籤:

控制文件不一致引發的「血案」

作者 陳康·沃趣科技資料庫技術專家

出品 沃趣科技

| 故障發生

近日,某客戶通過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; -- then bounce the database.

設置該參數後,每次控制文件更新時,資料庫都會去檢查控制文件狀態。保證資料庫的健壯性。

在未來如果解決了IO低效的問題,可以再次將該參數設置為默認值。

SQL> alter system set "_controlfile_update_check"=OFF scope=spfile; -- then bounce the database.

| 作者簡介

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

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


推薦閱讀:

如何構建你的文章框架和邏輯,讓你的文章更出彩
坤鵬論:小米阿里網紅papi醬為什麼火 真正原因是經濟下行!
未來人口四倍於中國的非洲,我們該如何面對
王棠雲有什麼背景嗎?
企鵝號怎麼樣,如何註冊企鵝號?

TAG:互聯網 | 編程 |