溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RAID重組和數(shù)據(jù)庫數(shù)據(jù)的修復與驗證

發(fā)布時間:2020-07-28 02:44:21 來源:網(wǎng)絡 閱讀:483 作者:宋國建 欄目:數(shù)據(jù)庫

背景介紹:

IBM DS5020 光纖存儲。存儲上一共16塊FC硬盤,單盤容量600G。存儲前面板10號和13號硬盤亮***故障燈,存儲映射到redhat上的卷掛載不上,業(yè)務崩潰。

開始工作:

 通過IBM storage manager連接到存儲查看當前存儲狀態(tài),存儲報告邏輯卷狀態(tài)失敗,再查看物理磁盤狀態(tài),發(fā)現(xiàn)6號盤報告“警告”,10號和13號盤報告“失敗”,通過IBM storage manager將當前存儲的完整日志狀態(tài)備份下來,解析備份出來的存儲日志獲得了關(guān)于邏輯卷結(jié)構(gòu)的部分信息。

  將16塊FC盤粘貼標簽,按照原始槽位號登記后從存儲中移除,使用北亞數(shù)據(jù)恢復的FC盤鏡像設備“DELL R510+SUN3510”對16塊FC盤進行粗略測試,結(jié)果發(fā)現(xiàn)16塊盤均能正常識別,分別檢測16塊盤的SMART狀態(tài),結(jié)果6號盤的SMART狀態(tài)為“警告”狀態(tài)和在IBM storage manager中報告一致。

  在windows環(huán)境下首先將設備識別出來的FC盤在磁盤管理器中標記為脫機狀態(tài),從而為原始磁盤提供了一個寫保護功能,然后使用winhex軟件對原始磁盤進行扇區(qū)級別鏡像操作,將原始磁盤中的所有物理扇區(qū)鏡像到windows系統(tǒng)下的邏輯磁盤并以文件形式保存。在鏡像過程中發(fā)現(xiàn)6號磁盤的鏡像速度很慢,結(jié)合先前對硬盤SMART狀態(tài)檢測時發(fā)現(xiàn)的問題綜合判斷,6號盤應該存在大量損壞以及不穩(wěn)定扇區(qū),導致在windows下的一般應用軟件無法對其進行操作。

  使用專業(yè)壞道硬盤鏡像設備對6號硬盤進行壞道鏡像操作,在鏡像過程中同時觀察鏡像的速度和穩(wěn)定性,發(fā)現(xiàn)6號盤的壞道并不多,但是存在大量的讀取響應時間長等不穩(wěn)定扇區(qū),于是調(diào)整6號盤的拷貝策略,將遇到壞道跳過扇區(qū)數(shù)和響應等待時間等參數(shù)均作一些修改。繼續(xù)對6號盤進行鏡像操作。同時觀察剩余盤在windows環(huán)境下使用winhex鏡像的情況。

  經(jīng)過鏡像操作后,在windows平臺下使用winhex鏡像的磁盤已經(jīng)全部鏡像完成,查看winhex生成的日志,發(fā)現(xiàn)在IBM storage manager和硬盤SMART狀態(tài)中均沒有報錯的1號盤也存在壞道,10號和13號盤均存在大量不規(guī)律的壞道分布,根據(jù)壞道列表使用winhex定位到目標鏡像文件分析發(fā)現(xiàn),ext3文件系統(tǒng)的一些關(guān)鍵源數(shù)據(jù)信息有的已經(jīng)被壞道所破壞,只能等待6號盤鏡像完畢后,通過同一條帶進行xor以及根據(jù)文件系統(tǒng)上下文關(guān)系的方式手動修復被損壞的文件系統(tǒng)。

  壞道鏡像設備報告6號盤鏡像完成,但是先前為了最大限度做出有效扇區(qū)以及為了保護磁頭設置的拷貝策略會自動跳過一些不穩(wěn)定扇區(qū),所以現(xiàn)在的鏡像是不完整的,于是調(diào)整拷貝策略,繼續(xù)鏡像被跳過的扇區(qū),6號盤所有扇區(qū)全部鏡像完畢。

  得到了所有硬盤的物理扇區(qū)鏡像,在windows平臺下使用winhex將所有鏡像文件全部展開,根據(jù)我們對ext3文件系統(tǒng)的逆向以及日志文件的分析,得到了16塊FC盤在存儲中的盤序,RAID的塊大小,RAID的校驗走向和方式等信息,于是嘗試通過軟件的方式虛擬重組RAID,RAID搭建完成后進一步解析ext3文件系統(tǒng),通過和用戶溝通提取出了一些oracle的dmp文件,用戶嘗試進行恢復。

  在dmp恢復的過程中,oracle報告為imp-0008錯誤,聯(lián)系北亞的oracle工程師,通過仔細分析導入dmp文件的日志文件,發(fā)現(xiàn)恢復的dmp文件存在問題而導致dmp導入數(shù)據(jù)失敗。立刻重新分析raid結(jié)構(gòu),以及進一步確定ext3文件系統(tǒng)被破壞的程度,又經(jīng)過數(shù)小時的工作,重新恢復dmp文件和dbf原始庫文件,將恢復出來的dmp文件移交給用戶進行數(shù)據(jù)導入測試,結(jié)果測試順利沒有發(fā)現(xiàn)問題,說明這次的數(shù)據(jù)恢復是成功的,接著對恢復出來的dbf原始庫文件進行校驗檢測,所有文件均能通過測試。

  北亞的數(shù)據(jù)庫工程師到達現(xiàn)場,和用戶溝通后決定使用恢復出來的dbf原始庫文件進行操作,以確保能把數(shù)據(jù)恢復到最佳狀態(tài)。

  數(shù)據(jù)庫恢復流程

  1. 拷貝數(shù)據(jù)庫文件到原數(shù)據(jù)庫服務器,路徑為/home/oracle/tmp/syntong.

  作為備份。在根目錄下創(chuàng)建了一個oradata文件夾,并把備份的整個syntong文件夾拷貝到oradata目錄下。然后更改oradata文件夾及其所有文件的屬組和權(quán)限。

  2. 備份原數(shù)據(jù)庫環(huán)境,包括ORACLE_HOME下product文件夾下的相關(guān)文件。配置監(jiān)聽,使用原機中的splplus連接到數(shù)據(jù)庫。嘗試啟動數(shù)據(jù)庫到nomount狀態(tài)。進行基本狀態(tài)查詢后,了解到環(huán)境和參數(shù)文件沒有問題。嘗試啟動數(shù)據(jù)庫到mount狀態(tài),進行狀態(tài)查詢沒有問題。啟動數(shù)據(jù)庫到open狀態(tài)。出現(xiàn)報錯:

  ORA-01122: databasefile 1 failed verification check

  ORA-01110: data file1: '/oradata/syntong/system01.dbf'

  ORA-01207: file ismore recent than control file - old control file

  3. 經(jīng)過進一步的檢測和分析,判斷此故障為控制文件和數(shù)據(jù)文件信息不一致,這是一類因斷電或突然關(guān)機等引起的常見故障。

  4. 對數(shù)據(jù)庫文件進行逐個檢測,檢測到所有數(shù)據(jù)文件沒有物理損毀。

  5.  在mount狀態(tài)下,對控制文件進行備份,alter database backupcontrolfile to trace as ' /backup/controlfile';對備份的控制文件進行查看修改,取得其中的重建控制文件命令。把這些命令復制到一個新建腳本文件controlfile.sql中。

  6.  關(guān)閉數(shù)據(jù)庫,刪除/oradata/syntong/下的3個控制文件。 啟動數(shù)據(jù)庫到nomount狀態(tài),執(zhí)行controlfile.sql 腳本。

  SQL>startupnomount

  SQL>@controlfile.sql

  7. 重建控制文件完成后,直接啟動數(shù)據(jù)庫,報錯,需要進一步處理。

  SQL> alterdatabase open;

  alter database open

  *

  ERROR at line 1:

  ORA-01113: file 1needs media recovery

  ORA-01110: data file1: '/free/oracle/oradata/orcl/system01.dbf'

  然后執(zhí)行恢復命令

  recover databaseusing backup controlfile until cancel;

  Recovery of OnlineRedo Log: Thread 1 Group 1 Seq 22 Reading mem 0

  Mem# 0 errs 0:/free/oracle/oradata/orcl/redo01.log

  …

  做介質(zhì)恢復,直到返回報告,恢復完成。

  8. 嘗試open數(shù)據(jù)庫。

  SQL> alterdatabase open resetlogs;

  9.  數(shù)據(jù)庫啟動成功。把原來temp表空間的數(shù)據(jù)文件加入到對應的temp表空間中。

  10. 對數(shù)據(jù)庫進行各種常規(guī)檢查,沒有任何錯誤。

  11. 進行emp備份。全庫備份完成,沒有報錯。將應用程序連接到數(shù)據(jù)庫,進行應用層面的數(shù)據(jù)驗證。

  數(shù)據(jù)驗證結(jié)束,數(shù)據(jù)庫修復完成,數(shù)據(jù)恢復成功。


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI