袁向英
摘要:容災(zāi)系統(tǒng)是指在不同的地區(qū)建立功能相同的多套系統(tǒng),兩個系統(tǒng)之間互為備份,同時繼續(xù)數(shù)據(jù)庫健康狀態(tài)的監(jiān)控和功能熱切換,當(dāng)其中有一個系統(tǒng)停止工作時,整個應(yīng)用系統(tǒng)可以將業(yè)務(wù)即刻切換到另一處,使得該業(yè)務(wù)可以繼續(xù)正常工作。該文分析數(shù)據(jù)庫備份的一些概念和類型,用Oracle中的Rma和EXP技術(shù)對本地?cái)?shù)據(jù)庫進(jìn)行備份,使用Logminer恢復(fù)用戶修改的數(shù)據(jù)。在此基礎(chǔ)上建立本地應(yīng)用容災(zāi)的環(huán)境,使用OCM、Oracle,創(chuàng)建數(shù)據(jù)庫配置節(jié)點(diǎn)設(shè)置來實(shí)現(xiàn)異地容災(zāi)體系。
關(guān)鍵詞:Oracle;容災(zāi);數(shù)據(jù)備份;并行數(shù)據(jù)庫;日志挖掘
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2012)36-8591-04
1相關(guān)技術(shù)基礎(chǔ)
1.1Oracle的備份
1.1.1冷備份
冷備份是指通過正常的指令關(guān)閉數(shù)據(jù)庫后備份物理文件。Oracle數(shù)據(jù)庫的冷備份是所有備份方式中最基礎(chǔ)的也最容易實(shí)現(xiàn)的一種方式,但只有在數(shù)據(jù)庫處于關(guān)閉的時候才能對數(shù)據(jù)庫想冷備份;然后可以第三方的備份工具或者操作系統(tǒng)工具對數(shù)據(jù)庫進(jìn)行備份,這時的數(shù)據(jù)庫是處于關(guān)閉狀態(tài)的,不能提供服務(wù),還有一種情況就是如果數(shù)據(jù)庫是出現(xiàn)異常情況后關(guān)閉的,那么數(shù)據(jù)庫的數(shù)據(jù)文件頭和控制文件的狀態(tài)很有可能是不同步的,控制文件和聯(lián)機(jī)重做日志所處的狀態(tài)很有可能也是不同步的,數(shù)據(jù)文件和聯(lián)機(jī)重做日志文件也是不同步的,如果在這種狀態(tài)下做的冷備份文件沒有任何意義。
1.1.2熱備份
熱備份就是在不關(guān)閉數(shù)據(jù)庫時做的備份,所謂熱備份是相對于冷備份定義的。數(shù)據(jù)庫文件的運(yùn)行模式有兩種一種是歸檔模式,另一種是非歸檔模式。歸檔就是將聯(lián)機(jī)重做日志備份,如果數(shù)據(jù)庫處于歸檔模式下運(yùn)行時,是完全可以使用熱備的方式對數(shù)據(jù)庫文件進(jìn)行備份的。不使用ARCH進(jìn)程進(jìn)行歸檔的數(shù)據(jù)庫就是非歸檔模式,在該種模式下,在進(jìn)行日志切換時不會有歸檔日志文件產(chǎn)生。
1.1.3備份工具Exp,Imp,Rman
Exp是一種熱備份方式的工具,在打開數(shù)據(jù)庫的情況下,做數(shù)據(jù)庫的備份用Exp工具是完全可以的,這種工具是由Oracle數(shù)據(jù)庫自帶的一種備份程序。Exp是一種可以以dmp格式的文件形式將把用戶數(shù)據(jù)以表為單位進(jìn)行導(dǎo)出的工具。
Imp是一種數(shù)據(jù)恢復(fù)工具,也是Oracle數(shù)據(jù)庫自帶的工具,Imp工具可以讀取dmp文件,并將dmp格式的數(shù)據(jù)文件中的數(shù)據(jù)導(dǎo)入到某個帳戶下,從而達(dá)到數(shù)據(jù)恢復(fù)的用途。Exp是一種邏輯備份,不能備份歸檔文件、控制文件、參數(shù)文件、數(shù)據(jù)文件等一些數(shù)據(jù)庫級的文件,只能備份數(shù)據(jù)庫用戶的數(shù)據(jù)和所屬的對象。
Oracle提供了一個非常強(qiáng)大的備份工具那就是Rman,它不但可以用于備份歸檔模式的數(shù)據(jù)庫,也可以對非歸檔模式的數(shù)據(jù)庫進(jìn)行備份,同時還可以對數(shù)據(jù)庫級的文件進(jìn)行備份,例如:數(shù)據(jù)文件、用戶的數(shù)據(jù)、歸檔日志文件、控制文件,口令文件以及參數(shù)文件等這些數(shù)據(jù)庫級的文件。
1.2備份與容災(zāi)的區(qū)別
1.2.1當(dāng)數(shù)據(jù)庫在非歸檔模式下運(yùn)行時
在使用操作系統(tǒng)級別的復(fù)制命令這種冷備份的恢復(fù)時候,需要準(zhǔn)備和主服務(wù)器相當(dāng)配置的硬件平臺、裝上相同的操作系統(tǒng)、Oracle數(shù)據(jù)庫軟件平臺。在使用Imp命令做數(shù)據(jù)恢復(fù),要先創(chuàng)建一個跟需要容災(zāi)的數(shù)據(jù)庫一模一樣的表空間、用戶等的數(shù)據(jù)庫文件,然后手工建立與原數(shù)據(jù)庫文件相同的控制文件和參數(shù)文件,最后是使用Imp工具命令對數(shù)據(jù)進(jìn)行恢復(fù)。
1.2.2當(dāng)數(shù)據(jù)庫在歸檔模式下運(yùn)行時
在使用Rman進(jìn)行參數(shù)文件、數(shù)據(jù)文件、控制文件恢復(fù)前要先準(zhǔn)備好與主服務(wù)器相同的硬件服務(wù)器平臺與操作系統(tǒng)平臺,并安裝相同版本的Oracle數(shù)據(jù)庫軟件,然后恢復(fù)控制文件,參數(shù)文件、數(shù)據(jù)文件,最后利用歸檔日志完全恢復(fù)數(shù)據(jù)庫。表1為當(dāng)數(shù)據(jù)庫運(yùn)行在非歸檔模式。
表1 當(dāng)數(shù)據(jù)庫運(yùn)行在非歸檔模式
[備份工具\&備份的范圍\&關(guān)閉數(shù)據(jù)庫\&恢復(fù)的范圍\&備份、恢復(fù)速度\&Rman;\&所有的物理文件\&不需要\&不完全恢復(fù)\&較快可以使用并行\&冷備份\&所有的物理文件\&需要\&不完全恢復(fù)\&慢,受限制于操作系統(tǒng)\&Exp;\&用戶數(shù)據(jù)\&不需要\&不完全恢復(fù)\&慢,使用的DDL和DML語句\&]
從上面敘述可以知道,對于數(shù)據(jù)庫的備份只是數(shù)據(jù)庫容災(zāi)的一種手段,保證了數(shù)據(jù)庫中數(shù)據(jù)的不丟失,并不能保證數(shù)據(jù)庫業(yè)務(wù)應(yīng)用的連續(xù)性,備份和容災(zāi)二者之間應(yīng)該是不同層次的兩個概念。
1.3日志挖掘技術(shù)
Logminer是一種日志分析工具,在Oracle8i/Oracle9i數(shù)據(jù)庫產(chǎn)品中都集成了這個工具,歸檔日志和重做日志中的所有事務(wù)變化都可以使用Logminer來分析。Logminer技術(shù)不但能夠通過在所有的事務(wù)中找出由用戶誤操作而發(fā)生的錯誤事務(wù),并且還通過Logminer技術(shù)對此類用戶誤操作事物所產(chǎn)生的錯誤事物執(zhí)行回滾操作,從而可以恢復(fù)數(shù)據(jù)庫的局部的變化而不用恢復(fù)全部數(shù)據(jù)庫。
并行服務(wù)器技術(shù)Rac,是OracleRealApplicationServer的簡稱,RAC技術(shù)的具有高可用性及高可擴(kuò)展性兩個優(yōu)點(diǎn)。它一般有兩臺或者兩臺以上同構(gòu)計(jì)算機(jī)及共享存儲設(shè)備構(gòu)成,可提供強(qiáng)大的數(shù)據(jù)庫處理能力,在OracleRAC環(huán)境下,Oracle集成提供了集群軟件和存儲管理軟件,為用戶降低了應(yīng)用成本。當(dāng)應(yīng)用規(guī)模需要擴(kuò)充時,用戶可以按需擴(kuò)展系統(tǒng),以保證系統(tǒng)的性能。
2容災(zāi)體系的建立
2.1使用exp/imp構(gòu)建本地的數(shù)據(jù)邏輯備份策略
邏輯備份最大的好處是簡單、靈活,在數(shù)據(jù)兩不是特別大的情況下速度也是非??斓?;可以在夸平臺、跨數(shù)據(jù)庫版本。邏輯備份作為物理備份的一個輔助備份,在防止用戶誤操作導(dǎo)致的誤刪數(shù)據(jù)等方面有一定
構(gòu)建邏輯本分略的思路主要是:編寫一個exp導(dǎo)出的腳本,然后通過操作系統(tǒng)的任務(wù)管理器將腳本配置為定時自動執(zhí)行,達(dá)到自動備份的效果。
2.2建立用戶錯誤的容災(zāi)體系
2.2.1利用Logminer來恢復(fù)用戶修改的錯誤數(shù)據(jù)
Logminer的安裝過程中首先需要先運(yùn)行以下兩個腳本:$Oracle_HOME/rdbms/admin/dbmslm.SQL,$Oracle_HOME/rdbms/admin/dbmslmd.SQL然后再安裝Logminer工具。
必須以系統(tǒng)的身份來運(yùn)行這兩個腳該文件。這兩個腳本分別是創(chuàng)建DBMS_LOGMNR_D包和DBMS_LOGMNR包,它們分別是用來分析日志文件和創(chuàng)建數(shù)據(jù)字典。
創(chuàng)建日志文件列表過程總我們要考慮到兩種方式:在線和離線歸檔日志文件。通過對過程DBMS_LOGMNR.START_LOGMNR中幾個不同參數(shù)的設(shè)置,可以縮小要分析日志文件的范圍。
2.2.2建立本地應(yīng)用容災(zāi)
在建立本地應(yīng)用容災(zāi)系統(tǒng)時,由于Rac技術(shù)的優(yōu)越性,在提供客戶端服務(wù)的某個節(jié)點(diǎn)出現(xiàn)服務(wù)中斷的情況時,其他節(jié)點(diǎn)會主動代替該節(jié)點(diǎn)工作,從而為客戶端提供有效的服務(wù),并且在所有提供服務(wù)的節(jié)點(diǎn)間形成負(fù)載均衡,平均來分擔(dān)客戶端的業(yè)務(wù)數(shù)據(jù)請求。所有節(jié)點(diǎn)都具有相互替代工作的功能,也可以隨時向集群系統(tǒng)中加入新的服務(wù)接入點(diǎn),成為新的節(jié)點(diǎn)與其他節(jié)點(diǎn)一起形成新的集群節(jié)點(diǎn),并達(dá)到負(fù)載均衡。下面舉例說明Rac平臺在搭建過程中的一些需要注意的問題:
2)操作系統(tǒng)準(zhǔn)備
加載系統(tǒng)狀態(tài)檢查模塊
5)測試、使用RAC
在正常的系統(tǒng)配置完成后,需要配置本地?cái)?shù)據(jù),主要是配置本地的文件名稱,以及系統(tǒng)連接方式,在完成所有的配置后,業(yè)務(wù)系統(tǒng)發(fā)揮作用,各用戶可以通過客戶端與Rac集群進(jìn)行正常的業(yè)務(wù)連接請求。
3容災(zāi)系統(tǒng)的測試
3.1測試大量數(shù)據(jù)丟失
3.1.1使用Imp恢復(fù)數(shù)據(jù)庫
1)首先是保證數(shù)據(jù)庫的正常連接,如果客戶端已經(jīng)連接到目標(biāo)數(shù)據(jù)庫,如果數(shù)據(jù)庫中存在SJDOC用戶的數(shù)據(jù),應(yīng)先將其清除。
2)重建用戶并分配表空間和授予角色與權(quán)限。
3)利用用Imp工具恢復(fù)數(shù)據(jù)庫。
4)驗(yàn)證。
使用SJDOC用戶登陸,察看數(shù)據(jù)字典中該用戶的表是否已經(jīng)完全恢復(fù)。
3.1.2使用Rman恢復(fù)數(shù)據(jù)庫
1)設(shè)置環(huán)境變量。
2)連接到Rman中,把數(shù)據(jù)庫啟動到Mount階段。
3)恢復(fù)數(shù)據(jù)庫。
4)以resetlog打開數(shù)據(jù)庫。
5)驗(yàn)證。
使用SJDOC用戶登陸,察看數(shù)據(jù)字典中該用戶的表是否已經(jīng)完全恢復(fù)。
4結(jié)束語
為有效的保證數(shù)據(jù)庫中數(shù)據(jù)的安全、數(shù)據(jù)信息的準(zhǔn)確,只有正確的建立數(shù)據(jù)庫容災(zāi)系統(tǒng)和應(yīng)用系統(tǒng)的容災(zāi)系統(tǒng),才能將使業(yè)務(wù)系統(tǒng)具有高可用性以及使業(yè)務(wù)系統(tǒng)提供連續(xù)性的服務(wù)。采用Rac數(shù)據(jù)庫并行技術(shù)能夠縮短業(yè)務(wù)處理時間,可以提高聯(lián)機(jī)處理事務(wù)效率。
參考文獻(xiàn)
[1]FreemanRG.OracleBackupandRecoveryConcepts[M].JohnWiley,2009.
[2]MatthewHat.OracleRecoveryManagerReference[Z].
[3]BurlesonDK.OracleDataMiningConcepts[M].北京:機(jī)械工業(yè)出版社,2002.
[4]邊凱.從本地到遠(yuǎn)程實(shí)現(xiàn)異地容災(zāi)的三步走[J].中國計(jì)算機(jī)用戶,2005(3).
[5]周可記.郵政綜合計(jì)算機(jī)網(wǎng)容災(zāi)中心系統(tǒng)方案[J].郵電設(shè)計(jì)技術(shù),2005(1)
[6]侯海波,謝文華.分級容災(zāi)——漫談城市公共容災(zāi)中心的建設(shè)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2004(10).
[7]郝鵬.居安思危認(rèn)清容災(zāi)的重要性[J].中國計(jì)算機(jī)用戶,2004(27).
[8]伊嵐.淺談數(shù)據(jù)的備份和容災(zāi)[J].電信快報(bào),2004(8).