盧莉娜 胡雋 孟憲宇
摘要:本文闡述了實(shí)施校園一卡通Oracle數(shù)據(jù)庫的備份方案,在歸檔日志模式下,通過Networker備份軟件定時、自動地將數(shù)據(jù)庫和歸檔日志備份到虛擬帶庫,借助數(shù)據(jù)庫的全備份和歸檔日志,實(shí)現(xiàn)近乎無損的數(shù)據(jù)恢復(fù)。
關(guān)鍵詞:校園一卡通 Oracle備份 數(shù)據(jù)恢復(fù)
校園一卡通數(shù)據(jù)庫包含了用戶的資金賬目、身份信息和交易流水,數(shù)據(jù)庫軟硬件的損壞會造成業(yè)務(wù)中斷和數(shù)據(jù)丟失。因此,校園一卡通的數(shù)據(jù)安全顯得尤為重要。
容災(zāi)是為確保“災(zāi)難”發(fā)生時,減小數(shù)據(jù)損失和業(yè)務(wù)停頓的一整套技術(shù)方案。數(shù)據(jù)備份是數(shù)據(jù)容災(zāi)的基礎(chǔ),是數(shù)據(jù)庫可用的最后一道防線,一個完整的容災(zāi)方案必然包括備份部分。容災(zāi)方案中的數(shù)據(jù)始終在線,有被完全破壞的可能,但備份數(shù)據(jù)是離線數(shù)據(jù),即使在線數(shù)據(jù)丟失,也可以從備份數(shù)據(jù)中恢復(fù)。
一、Oracle數(shù)據(jù)庫備份概述
Oracle數(shù)據(jù)庫備份有三種類型,分別是導(dǎo)入/導(dǎo)出(EXP/IMP)、冷備份和熱備份。導(dǎo)入/導(dǎo)出是邏輯備份,利用Export將數(shù)據(jù)從數(shù)據(jù)庫中提取出來,再利用Import將提取出來的數(shù)據(jù)送回到Oracle數(shù)據(jù)庫中;冷備份和熱備份是物理備份,直接拷貝數(shù)據(jù)庫的物理文件。邏輯備份和冷備份只能將數(shù)據(jù)恢復(fù)到備份執(zhí)行前的狀態(tài),而熱備份可以使數(shù)據(jù)恢復(fù)到任一時間點(diǎn)。
Oracle RMAN(恢復(fù)管理器)是Oracle提供的DBA工具,用于數(shù)據(jù)庫的備份和恢復(fù),它能夠備份整個數(shù)據(jù)庫或數(shù)據(jù)庫部件,其中包括表空間、數(shù)據(jù)文件、控制文件和歸檔文件。Networker通過調(diào)用RMAN的接口,來管理數(shù)據(jù)庫的備份和恢復(fù)操作。
二、校園一卡通數(shù)據(jù)庫備份
1.校園一卡通數(shù)據(jù)庫的體系結(jié)構(gòu)
校園一卡通Oracle數(shù)據(jù)庫運(yùn)行于兩臺Sun v880小型機(jī)組成的HA集群上,數(shù)據(jù)存放在磁盤存儲陣列上。前期已經(jīng)實(shí)施了基于盤陣同步復(fù)制的數(shù)據(jù)容災(zāi)解決方案,使得在同一時刻兩個盤陣保存有相同的兩份校園一卡通數(shù)據(jù)副本,確保單個盤陣損壞時業(yè)務(wù)不中斷,數(shù)據(jù)零損失。
2.校園一卡通數(shù)據(jù)庫備份體系結(jié)構(gòu)
校園一卡通業(yè)務(wù)既要保持連續(xù)運(yùn)轉(zhuǎn),確保數(shù)據(jù)庫不停運(yùn),盡可能數(shù)據(jù)損失為零,所以選擇了Oracle數(shù)據(jù)庫歸檔日志模式下的熱備份。采用Net-worker作為備份軟件,DataDomain虛擬帶庫作為備份存儲介質(zhì),每天定時地進(jìn)行Oracle全庫及歸檔日志的備份。
Networker備份服務(wù)器通過LAN與數(shù)據(jù)庫服務(wù)器連接,備份服務(wù)器與虛擬帶庫以FC(光纖通道)連接。兩臺Sun服務(wù)器上均安裝有Networker客戶端和Oracle模塊,通過Networker服務(wù)器上的控制臺可以管理客戶機(jī)上的備份和恢復(fù)任務(wù)。
3.啟用Oracle數(shù)據(jù)庫歸檔日志模式
第一步,關(guān)閉數(shù)據(jù)庫,并以裝載方式啟動。
SQL>shutdown immediate;
SQL>startup mount;
第二步,更改數(shù)據(jù)庫為歸檔日志模式。
SQL>alter database archivelog;
第三步,打開數(shù)據(jù)庫
SQL > alter database open;
第四步,設(shè)置歸檔文件存放位置。
SQL>alter system. set LOG_ARCHIVE_DEST_1=
LOCATION=/export/oracle/arch;
第五步,設(shè)置歸檔文件格式。
SQL>alter system set log archive_format=ar-ch_%
t_% s. arc scope = spfile ;
第六步,啟動自動歸檔。
SQL>alter system set log _ archive_start=tmescope=
spfile ;
4.校園一卡通數(shù)據(jù)庫的備份策略
在Networker服務(wù)器的管理控制臺中設(shè)置一卡通數(shù)據(jù)庫的備份時間表,以控制數(shù)據(jù)庫和歸檔日志的備份。一卡通業(yè)務(wù)每天夜間12點(diǎn)開始日結(jié),到第二天凌晨2點(diǎn)日結(jié)完畢。在凌晨2點(diǎn)到5點(diǎn),業(yè)務(wù)處于空閑期。假如設(shè)置在凌晨3點(diǎn)半進(jìn)行一次數(shù)據(jù)庫的全備份,整個時間大約28分鐘;每天9點(diǎn)、15點(diǎn)、21點(diǎn)進(jìn)行歸檔日志的備份,每次耗時2分半鐘。
三、數(shù)據(jù)庫恢復(fù)測試
準(zhǔn)備一臺恢復(fù)測試機(jī),該機(jī)既要和源備份主機(jī)操作系統(tǒng)類型一致,Oracle版本一致,數(shù)據(jù)庫實(shí)例名一致,同時也需要安裝Networker客戶端軟件和Oracle模塊。測試時,首先要獲取源主機(jī)Oracle的DBID,恢復(fù)時必須在目標(biāo)端指定。然后,關(guān)閉恢復(fù)目標(biāo)機(jī)上的數(shù)據(jù)庫,進(jìn)入nomount狀態(tài),按照順序依次恢復(fù)pfile文件,控制文件,數(shù)據(jù)庫文件。接著,再執(zhí)行數(shù)據(jù)庫的recover,此過程將用到備份的日志文件。最后,恢復(fù)完成,打開數(shù)據(jù)庫,如果無報(bào)錯則成功恢復(fù)。
校園一卡通數(shù)據(jù)備份是一卡通數(shù)據(jù)容災(zāi)方案必不可少的部分,利用備份的數(shù)據(jù)成功地進(jìn)行了數(shù)據(jù)庫的恢復(fù),說明該數(shù)據(jù)庫備份方案的有效性。
參考文獻(xiàn):
[1]孔凡航.Oracle 9i中文版基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2007.
[2]趙元杰.Oracle 10g系統(tǒng)管理員簡明教程[M].北京:人民郵電出版社,2006.
[3]王興玲.Oracle I0g影像庫的設(shè)計(jì)及應(yīng)用模式分析[J].遙感技術(shù)與應(yīng)用,2006,(5).
(作者單位:武漢軍械士官學(xué)校)endprint