RAID重組和數(shù)據(jù)庫(kù)數(shù)據(jù)的修復(fù)與驗(yàn)證

背景介紹:

目前成都創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、綿陽(yáng)服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、永吉網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

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

開(kāi)始工作:

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

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

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

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

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

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

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

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

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

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

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

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

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

 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)過(guò)進(jìn)一步的檢測(cè)和分析,判斷此故障為控制文件和數(shù)據(jù)文件信息不一致,這是一類(lèi)因斷電或突然關(guān)機(jī)等引起的常見(jiàn)故障。

 4. 對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行逐個(gè)檢測(cè),檢測(cè)到所有數(shù)據(jù)文件沒(méi)有物理?yè)p毀。

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

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

 SQL>startupnomount

 SQL>@controlfile.sql

 7. 重建控制文件完成后,直接啟動(dòng)數(shù)據(jù)庫(kù),報(bào)錯(cuò),需要進(jìn)一步處理。

 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í)行恢復(fù)命令

 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ì)恢復(fù),直到返回報(bào)告,恢復(fù)完成。

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

 SQL> alterdatabase open resetlogs;

 9.  數(shù)據(jù)庫(kù)啟動(dòng)成功。把原來(lái)temp表空間的數(shù)據(jù)文件加入到對(duì)應(yīng)的temp表空間中。

 10. 對(duì)數(shù)據(jù)庫(kù)進(jìn)行各種常規(guī)檢查,沒(méi)有任何錯(cuò)誤。

 11. 進(jìn)行emp備份。全庫(kù)備份完成,沒(méi)有報(bào)錯(cuò)。將應(yīng)用程序連接到數(shù)據(jù)庫(kù),進(jìn)行應(yīng)用層面的數(shù)據(jù)驗(yàn)證。

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

文章標(biāo)題:RAID重組和數(shù)據(jù)庫(kù)數(shù)據(jù)的修復(fù)與驗(yàn)證
文章出自:http://muchs.cn/article2/pdpiic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、搜索引擎優(yōu)化、網(wǎng)站設(shè)計(jì)公司靜態(tài)網(wǎng)站、動(dòng)態(tài)網(wǎng)站、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)