容災切換中的資料庫當機問題簡單分析(一)

jeanron100發表於2016-05-27
最近對一個統計庫做了計劃內的容災切換,即主備切換。操作的過程其實還是蠻順利的。但是災難切換中如果出現在問題,那就是災難中的災難了。
按照計劃對配置資訊做了同步,然後使用DG Broker做了SwitchOver操作。
這一次切換速度還是蠻快,我開了幾個視窗看到日誌都在不斷輸出,角色已經替換過來了。DG Broker切換的日誌如下:
DGMGRL> switchover to test29;
Performing switchover NOW, please wait...
New primary database "test29" is opening...
Operation requires shutdown of instance "test2" on database "sgstatdb3"
Shutting down instance "test2"...
ORA-01031: insufficient privileges

Warning: You are no longer connected to ORACLE.

Please complete the following steps to finish switchover:
        shut down instance "statdb2" of database "stest3"
        start up instance "statdb2" of database "stest3"

這個時候備庫已經切換為主庫,只要重啟切換前的主庫即可。
但是這麼一個簡單的操作就出了問題。shutdown immediate命令敲下去之後,客戶端就沒有反應了。
SQL> shutdown immediate
ORA-01092: ORACLE instance terminated. Disconnection forced
SQL> Write failed: Broken pipe

然後等了一下,從中控端去登入就無法連通了。這個問題確實夠奇怪,我去ILO檢視發現系統已經在自動重啟了。
當然寬慰的是切換已經完成,可以先讓應用的同學去測試他們的業務了。我們可以繼續處理這個意料之外的問題。

在當機的瞬間,資料庫alert日誌只輸出了一行內容“
ORA-1092 : opitsk aborting process
Write failed: Broken pipe
檢視ILO的介面,發現系統已經在初始化中了。

等了一會就看到系統的介面提示RAID資訊貌似不一致了。這個庫裡的盤很多,配置這個還真不在行。

簡單諮詢了下同事,還是選擇熱引導重啟,重啟之後,貌似那個問題是過去了,然後就彈出一個錯誤。已經很明確告訴我是BUG,而且是CPU相關的。

再次重啟,還是同樣的問題,這個時候我們就需要兩手準備,如果伺服器無法重啟,就需要馬上開始準備新的備庫的事宜了。
最後我們還是嘗試冷引導,類似斷電重啟的方式,這一次系統竟然起來了,也算是不幸中的萬幸了。
當然對於這個問題。馬上就收到了一個報警簡訊,提示伺服器的/var目錄空間不足了。
仔細一看原來生成了kdump檔案,有大概6G左右。
-rw------- 1 root root 6446125056 May 26 11:15 vmcore-incomplete
對這個檔案是需要使用命令crash或者其它第三方工具檢視的,根據同事的反饋,在Dell 720XD,系統6U3中確實會有這種問題。
我這個問題的必備條件全滿足了,我還在想是否為什麼之前沒有碰到過,仔細一看原來早就有這個坑了,去年的時候這個資料庫就重啟過,已經有了crash的問題了。
# ll
total 8
drwxr-xr-x 2 root root 4096 Aug  2  2015 127.0.0.1-2015-08-02-09:50:47
drwxr-xr-x 2 root root 4096 May 26 15:46 127.0.0.1-2016-05-26-11:05:18
後續進行更多的分析。

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

相關文章