劉榮剛
摘要:統(tǒng)籌規(guī)劃生產(chǎn)數(shù)據(jù)庫、備用數(shù)據(jù)庫、數(shù)據(jù)庫備份與恢復(fù)、備份數(shù)據(jù)恢復(fù)演練平臺(tái),建立高可用數(shù)據(jù)庫系統(tǒng),確保備份數(shù)據(jù)的可用性,并在生產(chǎn)數(shù)據(jù)庫故障時(shí)依據(jù)故障特征快速恢復(fù)數(shù)據(jù)庫。
關(guān)鍵詞:備份;恢復(fù)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)26-0018-02
1 概述
數(shù)據(jù)庫是企業(yè)信息化關(guān)鍵的基礎(chǔ)平臺(tái),集中存儲(chǔ)和管理企業(yè)各種信息系統(tǒng)的數(shù)據(jù)。數(shù)據(jù)一旦丟失,將導(dǎo)致災(zāi)難性的事故,造成不可估量的損失。因此,數(shù)據(jù)庫的備份與恢復(fù),是信息系統(tǒng)必須具備的基礎(chǔ)功能。另一方面,實(shí)際應(yīng)用過程中,備份數(shù)據(jù)出現(xiàn)問題導(dǎo)致不可恢復(fù)的故障時(shí)有發(fā)生,一般數(shù)據(jù)庫備份系統(tǒng)都要求用戶建立數(shù)據(jù)庫恢復(fù)演練平臺(tái),定期進(jìn)行備份數(shù)據(jù)的恢復(fù)演練,及時(shí)發(fā)現(xiàn)和解決備份數(shù)據(jù)存在的問題,確保備份數(shù)據(jù)的可用性。本文結(jié)合實(shí)際工作經(jīng)驗(yàn),統(tǒng)籌規(guī)劃生產(chǎn)數(shù)據(jù)庫、備用數(shù)據(jù)庫、數(shù)據(jù)庫備份與恢復(fù)、備份數(shù)據(jù)恢復(fù)演練平臺(tái),極大地提高了數(shù)據(jù)庫系統(tǒng)的可靠性。
2 系統(tǒng)物理結(jié)構(gòu)
系統(tǒng)物理結(jié)構(gòu)如圖1所示。
1) 數(shù)據(jù)庫服務(wù)器A、數(shù)據(jù)庫服務(wù)器B安裝相同版本的oracle數(shù)據(jù)庫軟件,oracle數(shù)據(jù)庫相關(guān)配置保持一致。
2) 備份服務(wù)器C安裝NUB(Veritas NetBackup)備份軟件。
3) 光纖交換機(jī)A與光纖交換機(jī)B組成冗余交換網(wǎng)絡(luò)。
4) 數(shù)據(jù)庫服務(wù)器A與存儲(chǔ)A位于同一個(gè)Zone,組成生產(chǎn)數(shù)據(jù)庫系統(tǒng)。
5) 數(shù)據(jù)庫服務(wù)器B與存儲(chǔ)B位于同一個(gè)Zone,存儲(chǔ)B劃分為2個(gè)邏輯存儲(chǔ)區(qū)域B-1和B-2,數(shù)據(jù)庫服務(wù)器B與存儲(chǔ)B-1組成備用數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫服務(wù)器B與存儲(chǔ)B-2組成備份數(shù)據(jù)恢復(fù)演練平臺(tái)。
6) 備份服務(wù)器C與存儲(chǔ)C位于同一個(gè)Zone,組成NBU數(shù)據(jù)庫備份和恢復(fù)系統(tǒng)。
3 系統(tǒng)邏輯結(jié)構(gòu)
系統(tǒng)邏輯結(jié)構(gòu)如圖2所示。
1) 數(shù)據(jù)庫服務(wù)器A與存儲(chǔ)A構(gòu)成生產(chǎn)數(shù)據(jù)庫系統(tǒng),為用戶提供數(shù)據(jù)庫服務(wù)。
2) 數(shù)據(jù)庫服務(wù)器B依據(jù)應(yīng)用需求可與存儲(chǔ)B-1構(gòu)成備用數(shù)據(jù)庫,也可與存儲(chǔ)B-2構(gòu)成備份數(shù)據(jù)恢復(fù)演練平臺(tái)。因共用數(shù)據(jù)庫服務(wù)器B,備用數(shù)據(jù)庫與備份數(shù)據(jù)恢復(fù)演練平臺(tái)只能分別啟用,不能同時(shí)啟用。正常情況下數(shù)據(jù)庫服務(wù)器B與存儲(chǔ)B-2構(gòu)成備份數(shù)據(jù)恢復(fù)演練平臺(tái)。
3) 備份服務(wù)器C與存儲(chǔ)C構(gòu)成數(shù)據(jù)備份系統(tǒng)。正常情況下定時(shí)將生產(chǎn)數(shù)據(jù)庫的數(shù)據(jù)通過邏輯備份的形式備份到存儲(chǔ)C。
4) 存儲(chǔ)A與存儲(chǔ)B-1利用存儲(chǔ)自身的復(fù)制功能構(gòu)成A―>B-1的異步復(fù)制。
從系統(tǒng)邏輯結(jié)構(gòu)圖可以看出,整個(gè)系統(tǒng)正常運(yùn)行情況下生產(chǎn)數(shù)據(jù)庫有2個(gè)備份,一個(gè)是存儲(chǔ)B-1上的物理備份,一個(gè)是存儲(chǔ)C上的邏輯備份。
4 備份數(shù)據(jù)恢復(fù)演練平臺(tái)
為了確保存儲(chǔ)C上的備份數(shù)據(jù)的可用性,可以定期或不定期地進(jìn)行備份數(shù)據(jù)恢復(fù)演練,通過備份服務(wù)器C上的NBU將存儲(chǔ)C上的邏輯備份數(shù)據(jù)恢復(fù)到數(shù)據(jù)庫服務(wù)器B與存儲(chǔ)B-2構(gòu)成的數(shù)據(jù)庫系統(tǒng),可以測(cè)試備份數(shù)據(jù)的可用性,也可以作為測(cè)試數(shù)據(jù)庫使用,用于驗(yàn)證程序或補(bǔ)丁的功能。
5 數(shù)據(jù)恢復(fù)原理
在生產(chǎn)數(shù)據(jù)庫發(fā)生故障的時(shí)候,依據(jù)生產(chǎn)數(shù)據(jù)庫故障的具體情況,可以有不同的數(shù)據(jù)庫恢復(fù)方案。
1) 啟用備用數(shù)據(jù)庫
如果生產(chǎn)數(shù)據(jù)庫服務(wù)器A及存儲(chǔ)A都存在問題,短時(shí)間內(nèi)難以修復(fù),此時(shí),可以先斷開存儲(chǔ)A―>B-1的復(fù)制關(guān)系,然后改變數(shù)據(jù)庫服務(wù)器B的存儲(chǔ)介質(zhì),將存儲(chǔ)B-1分配給數(shù)據(jù)庫服務(wù)器B,即可啟動(dòng)數(shù)據(jù)庫服務(wù)器B與存儲(chǔ)B-1構(gòu)成的備用數(shù)據(jù)庫。
待數(shù)據(jù)庫服務(wù)器A及存儲(chǔ)A修復(fù)之后,可以先建立存儲(chǔ)B-1―>A的復(fù)制關(guān)系,數(shù)據(jù)同步之后,斷開存儲(chǔ)B-1―>A的復(fù)制關(guān)系,重新建立存儲(chǔ)A―>B-1的復(fù)制關(guān)系,啟動(dòng)正常的生產(chǎn)數(shù)據(jù)庫服務(wù)器運(yùn)行。同時(shí)將數(shù)據(jù)庫服務(wù)器B的存儲(chǔ)介質(zhì)切換到存儲(chǔ)B-2,恢復(fù)原始運(yùn)行狀態(tài)。
2) 將存儲(chǔ)B-1的數(shù)據(jù)恢復(fù)到存儲(chǔ)A
如果數(shù)據(jù)庫服務(wù)器A正常,而存儲(chǔ)A上的數(shù)據(jù)丟失,可以先斷開存儲(chǔ)A―>B-1的復(fù)制關(guān)系,建立存儲(chǔ)B-1―>A的復(fù)制關(guān)系,快速地將存儲(chǔ)B-1上的數(shù)據(jù)恢復(fù)到存儲(chǔ)A。
恢復(fù)完畢之后,斷開存儲(chǔ)B-1―>A的復(fù)制關(guān)系,重新建立存儲(chǔ)A―>B-1的復(fù)制關(guān)系,恢復(fù)原始運(yùn)行狀態(tài)。
3) 恢復(fù)NBU邏輯備份數(shù)據(jù)
如果存儲(chǔ)A及存儲(chǔ)B-1都發(fā)生故障,可以在修復(fù)完成之后,利用NBU將存儲(chǔ)C上的邏輯備份數(shù)據(jù)恢復(fù)到存儲(chǔ)A上。
6 系統(tǒng)特點(diǎn)
1) 整個(gè)系統(tǒng)提供了2種數(shù)據(jù)庫備份方式,存儲(chǔ)A與存儲(chǔ)B-1利用存儲(chǔ)自身的復(fù)制功能構(gòu)成了數(shù)據(jù)的物理備份,可以實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)備份。備份服務(wù)器C與備份存儲(chǔ)C構(gòu)成的備份系統(tǒng)則是對(duì)數(shù)據(jù)庫數(shù)據(jù)的邏輯備份,采用的是定時(shí)備份。2種備份系統(tǒng)相輔相成,互為補(bǔ)充,極大地提高了數(shù)據(jù)的可靠性。
2) 數(shù)據(jù)恢復(fù)方式多樣化。依據(jù)數(shù)據(jù)庫系統(tǒng)故障的具體情況,可以采用不同的恢復(fù)方式,提高數(shù)據(jù)恢復(fù)效率,最大限度降低數(shù)據(jù)丟失的風(fēng)險(xiǎn)。如果數(shù)據(jù)庫服務(wù)器A上的數(shù)據(jù)庫軟件不存在問題,可以利用存儲(chǔ)系統(tǒng)自身的復(fù)制功能,將存儲(chǔ)B-1上的數(shù)據(jù)直接復(fù)制到存儲(chǔ)A,實(shí)現(xiàn)基于存儲(chǔ)系統(tǒng)的恢復(fù),效率很高。如果數(shù)據(jù)庫系統(tǒng)故障嚴(yán)重,基于存儲(chǔ)系統(tǒng)的恢復(fù)不能達(dá)到目的,則可以利用NBU備份系統(tǒng)進(jìn)行恢復(fù),恢復(fù)時(shí)間較長(zhǎng)。
3) 當(dāng)生產(chǎn)環(huán)境數(shù)據(jù)庫服務(wù)器A或者存儲(chǔ)A出現(xiàn)嚴(yán)重硬件故障難以及時(shí)修復(fù)的情況下,可以在短時(shí)間內(nèi)啟用數(shù)據(jù)庫服務(wù)器B和存儲(chǔ)B-1構(gòu)成的備用數(shù)據(jù)庫,將整個(gè)生產(chǎn)數(shù)據(jù)庫系統(tǒng)切換到備用數(shù)據(jù)庫系統(tǒng)運(yùn)行。
4) 利用備份數(shù)據(jù)恢復(fù)演練平臺(tái),可以定期對(duì)備份系統(tǒng)的備份數(shù)據(jù)進(jìn)行恢復(fù)測(cè)試,防止出現(xiàn)備份數(shù)據(jù)不可用的情況發(fā)生。
7 結(jié)束語
信息系統(tǒng)在企業(yè)管理、生產(chǎn)、經(jīng)營(yíng)活動(dòng)中扮演著越來越重要的角色,對(duì)數(shù)據(jù)安全性、可靠性的要求也越來越高,構(gòu)建高可用的數(shù)據(jù)庫系統(tǒng)已經(jīng)成為企業(yè)信息化建設(shè)的必然選擇。在構(gòu)建高可用數(shù)據(jù)庫系統(tǒng)的時(shí)候,要統(tǒng)籌考慮生產(chǎn)數(shù)據(jù)庫系統(tǒng)、備用數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)備份系統(tǒng)及備份數(shù)據(jù)恢復(fù)演練平臺(tái),并制定不同故障情況下的數(shù)據(jù)恢復(fù)方案。本文是筆者在實(shí)際工作中經(jīng)歷過數(shù)據(jù)庫故障甚至備份數(shù)據(jù)也同時(shí)損壞的嚴(yán)重事故之后,結(jié)合當(dāng)前數(shù)據(jù)備份技術(shù)及存儲(chǔ)系統(tǒng)技術(shù)總結(jié)出來的一套方案,該方案利用存儲(chǔ)系統(tǒng)快照技術(shù)還可以引申出更多的數(shù)據(jù)備份和恢復(fù)模式,在實(shí)際應(yīng)用中取得了良好的效果。
參考文獻(xiàn):
[1] Matthew Hart,Robert G. Freeman.Oracle Database 10g RMAN備份與恢復(fù)[M]. 江玲玲,譯.北京:清華大學(xué)出版社,2008.
[2] HITACHI.日立通用復(fù)制軟件[EB/OL]. http://wenku.it168.com/d_000041151.shtml.
[3] HITACHI. HDS存儲(chǔ)高可用技術(shù)(HAM)介紹[EB/OL].http://wenku.it168.com/d_001612721.shtml.endprint