數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境:
5塊磁盤組建RAID5,劃分LUN供windows服務(wù)器使用;
windows服務(wù)器上部署Sql Server數(shù)據(jù)庫;操作系統(tǒng)層面劃分了三個(gè)邏輯分區(qū)。
數(shù)據(jù)庫故障&初檢:
未知原因?qū)е耂ql Server數(shù)據(jù)庫文件丟失,涉及到數(shù)個(gè)數(shù)據(jù)庫和數(shù)千張表,不能確定數(shù)據(jù)存儲(chǔ)位置。數(shù)據(jù)庫文件丟失后服務(wù)器仍然在開機(jī)運(yùn)行,所幸沒有大量寫入數(shù)據(jù)。
1、將故障服務(wù)器內(nèi)所有硬盤以只讀方式進(jìn)行全盤鏡像備份,后續(xù)數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作都基于鏡像文件進(jìn)行,避免在恢復(fù)數(shù)據(jù)的過程中對(duì)原始數(shù)據(jù)造成二次破壞。
2、基于鏡像文件分析raid5底層數(shù)據(jù),通過分析獲取到的raid相關(guān)信息及內(nèi)部數(shù)據(jù)塊信息重組RAID。
重組RAID:
北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
3、完成RAID重組后提取LUN內(nèi)的三個(gè)邏輯分區(qū)的鏡像。
4、掃描文件系統(tǒng)內(nèi)丟失文件,未找到被刪除的數(shù)據(jù)庫文件。
5、初檢結(jié)果為數(shù)據(jù)庫文件丟失,在文件系統(tǒng)層面無法恢復(fù)數(shù)據(jù)庫數(shù)據(jù)。
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)流程:
1、經(jīng)過初檢后發(fā)現(xiàn)數(shù)據(jù)庫文件被刪除且無法在文件系統(tǒng)層面進(jìn)行恢復(fù)后,北亞企安數(shù)據(jù)恢復(fù)工程師決定通過掃描數(shù)據(jù)頁,提取頁內(nèi)記錄的方式來恢復(fù)丟失的數(shù)據(jù)庫數(shù)據(jù)。
2、使用北亞企安自主開發(fā)的數(shù)據(jù)頁掃描程序掃描分區(qū)內(nèi)數(shù)據(jù)頁并進(jìn)行提取。掃描兩個(gè)分區(qū)鏡像后發(fā)現(xiàn)系統(tǒng)盤分區(qū)鏡像內(nèi)的數(shù)據(jù)頁數(shù)量極少且數(shù)據(jù)頁斷裂情況嚴(yán)重,另一分區(qū)內(nèi)掃描到的數(shù)據(jù)頁數(shù)量較多,暫定此分區(qū)為數(shù)據(jù)庫文件的存儲(chǔ)空間。
掃描數(shù)據(jù)頁:
北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
3、Sql Server數(shù)據(jù)庫使用系統(tǒng)表來管理所有用戶表,系統(tǒng)表內(nèi)記錄了各表的列數(shù)、數(shù)據(jù)類型及約束信息等。在對(duì)系統(tǒng)表進(jìn)行解析的過程中發(fā)現(xiàn)提取出來的數(shù)據(jù)頁內(nèi)的系統(tǒng)表損壞,無法正常讀取信息。在與用戶方溝通后得知數(shù)據(jù)庫有備份文件,而且備份完成后也沒有對(duì)表結(jié)構(gòu)進(jìn)行過大的改動(dòng),系統(tǒng)表可用。
4、還原備份:
北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
5、分別提取需要恢復(fù)數(shù)據(jù)的三個(gè)庫中各表的表結(jié)構(gòu)信息。
提取表結(jié)構(gòu)信息:
北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
6、解析表結(jié)構(gòu)腳本,將各表的列信息存入數(shù)據(jù)庫內(nèi)便于在后續(xù)的數(shù)據(jù)恢復(fù)過程中使用。
掃描腳本文件:
北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
將表結(jié)構(gòu)信息存入數(shù)據(jù)庫:
北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
7、解析系統(tǒng)表,獲取用戶表id信息、關(guān)聯(lián)表結(jié)構(gòu)與數(shù)據(jù)頁。
8、新建數(shù)據(jù)庫環(huán)境,使用北亞企安自主編寫的軟件解析記錄并導(dǎo)入到環(huán)境內(nèi)。
9、整理恢復(fù)結(jié)果。數(shù)據(jù)庫文件存儲(chǔ)的分區(qū)內(nèi)除了存放數(shù)據(jù)庫文件外還存放若干備份文件,所以在導(dǎo)出記錄后可能存在重復(fù)數(shù)據(jù),需要去重。由北亞企安數(shù)據(jù)恢復(fù)工程師編寫程序進(jìn)行去重。
數(shù)據(jù)庫去重:
北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
10、處理完所有數(shù)據(jù)后交由用戶方驗(yàn)證數(shù)據(jù)。用戶方工程師經(jīng)過反復(fù)查驗(yàn)后確認(rèn)恢復(fù)數(shù)據(jù)完整有效。將恢復(fù)出來的數(shù)據(jù)遷移到用戶方準(zhǔn)備好的存儲(chǔ)設(shè)備中。
審核編輯:湯梓紅
-
服務(wù)器
+關(guān)注
關(guān)注
13文章
9826瀏覽量
88203 -
SQL
+關(guān)注
關(guān)注
1文章
783瀏覽量
45355 -
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
654瀏覽量
18195 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3939瀏覽量
66517
發(fā)布評(píng)論請(qǐng)先 登錄
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)庫故障的數(shù)據(jù)恢復(fù)案例

Oracle數(shù)據(jù)恢復(fù)—格式化分區(qū)導(dǎo)致Oracle數(shù)據(jù)庫報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復(fù)案例

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫被加密如何恢復(fù)數(shù)據(jù)?

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫文件拷貝后服務(wù)無法啟動(dòng)的數(shù)據(jù)恢復(fù)

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server附加數(shù)據(jù)庫提示“錯(cuò)誤 823”的數(shù)據(jù)恢復(fù)案例

虛擬化數(shù)據(jù)恢復(fù)—誤還原快照的數(shù)據(jù)恢復(fù)案例
Devart: dbForge Compare Bundle for SQL Server—比較SQL數(shù)據(jù)庫最簡(jiǎn)單、最準(zhǔn)確的方法
SqlServer數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復(fù)流程

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MYSQL數(shù)據(jù)庫ibdata1文件損壞的數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—通過拼接數(shù)據(jù)庫碎片恢復(fù)SQLserver數(shù)據(jù)庫

oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫打開報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫文件system01.dbf損壞的數(shù)據(jù)恢復(fù)案例

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯(cuò)誤的數(shù)據(jù)恢復(fù)案例

評(píng)論