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