摘 要:隨著新型技術(shù)的不斷發(fā)展,oracle的故障處理也出現(xiàn)了很多的問題,因?yàn)閿?shù)據(jù)庫在進(jìn)行數(shù)據(jù)保存的時(shí)候,要時(shí)刻面臨著數(shù)據(jù)的備份,以及數(shù)據(jù)的恢復(fù)。如果數(shù)據(jù)庫出現(xiàn)故障那么給企業(yè)造成的損失非常嚴(yán)重,因此要及時(shí)從數(shù)據(jù)庫的處理上解決相應(yīng)的數(shù)據(jù)庫的故障問題。本文就相關(guān)的數(shù)據(jù)庫的故障進(jìn)行分析,尤其在斷電的情況下所造成的故障和恢復(fù)的方法進(jìn)行探討,從不斷的實(shí)踐解決數(shù)據(jù)庫的問題,以達(dá)到保護(hù)數(shù)據(jù)的目的。
關(guān)鍵詞:Oracle;斷電;故障;恢復(fù)
中圖分類號(hào):TM732
數(shù)據(jù)庫顧名思義就是存儲(chǔ)數(shù)據(jù)的地方,它主要是經(jīng)過Oracle公司研究的產(chǎn)品,其能夠?qū)?shù)據(jù)進(jìn)行保存,能夠?qū)Υ蟮臄?shù)據(jù)量進(jìn)行存儲(chǔ),方便以后的查閱,通過數(shù)據(jù)庫來實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)。其數(shù)據(jù)存儲(chǔ)的特點(diǎn)是經(jīng)濟(jì)性、高可用性、高可伸縮性以及功能的完善,其存儲(chǔ)量非常大,但是在對(duì)其建立的數(shù)據(jù)進(jìn)行增刪改查的時(shí)候要經(jīng)過SQL語句進(jìn)行,通過SQL語句實(shí)現(xiàn)數(shù)據(jù)庫的訪問,以及數(shù)據(jù)庫的數(shù)據(jù)的建立和數(shù)據(jù)表單的導(dǎo)入。Oracle所建立成的數(shù)據(jù)系統(tǒng)具有完善的處理能力,而且具有很高的安全保障機(jī)制,這使得數(shù)據(jù)在進(jìn)行存儲(chǔ)的時(shí)候其安全性,能夠得到很好的保障,本文就相關(guān)的數(shù)據(jù)庫的備份以及恢復(fù)進(jìn)行研究,從故障的處理延伸到數(shù)據(jù)的備份和恢復(fù),方便以后的數(shù)據(jù)庫相關(guān)處理。
1 數(shù)據(jù)庫的故障概述
數(shù)據(jù)庫故障產(chǎn)生的原因很多,因此對(duì)于數(shù)據(jù)庫的故障處理應(yīng)該從更多的方面進(jìn)行,下面將會(huì)從三個(gè)方面對(duì)數(shù)據(jù)庫的故障進(jìn)行分析,為故障的處理提供分析的依據(jù)。
1.1 事務(wù)故障分析
當(dāng)數(shù)據(jù)庫在處理相關(guān)事務(wù)的時(shí)候,由于斷電的原因會(huì)造成事務(wù)處理不能夠達(dá)到終點(diǎn),在此過程中會(huì)發(fā)生事務(wù)的中斷 ,此時(shí)就被稱作為事務(wù)故障,當(dāng)發(fā)生事務(wù)故障的時(shí)候,在此過程中出現(xiàn)的事務(wù)中斷可能已經(jīng)將部分?jǐn)?shù)據(jù)回寫到磁盤之中,因此在進(jìn)行數(shù)據(jù)恢復(fù)的時(shí)候,恢復(fù)程序可以強(qiáng)行的恢復(fù)數(shù)據(jù)庫的數(shù)據(jù),但是不能夠影響其他的事務(wù)運(yùn)行,使得系統(tǒng)中該事務(wù)回到啟動(dòng)之前的狀態(tài)
1.2 系統(tǒng)故障分析
系統(tǒng)故障的產(chǎn)生主要是由于不明確的原因造成系統(tǒng)中事務(wù)的中斷,而產(chǎn)生事務(wù)的非正常終止,此時(shí)在內(nèi)存中的緩存數(shù)據(jù)將會(huì)發(fā)生丟失,但是存儲(chǔ)到數(shù)據(jù)庫的數(shù)據(jù)則會(huì)得到保存,這樣就會(huì)使得數(shù)據(jù)不會(huì)受到影響,當(dāng)發(fā)生故障時(shí),數(shù)據(jù)庫中的事務(wù)發(fā)生中斷,所存儲(chǔ)事務(wù)結(jié)果會(huì)放在物理數(shù)據(jù)庫中,為了確保數(shù)據(jù)的一致需要對(duì)數(shù)據(jù)庫中的修改進(jìn)行清除。
1.3 介質(zhì)故障分析
介質(zhì)故障的產(chǎn)生更多則是在系統(tǒng)運(yùn)行的時(shí)候所發(fā)生的硬件故障比較多,使得在存儲(chǔ)的過程中外存儲(chǔ)的數(shù)據(jù)會(huì)發(fā)生丟失,或者是造成數(shù)據(jù)的部分丟失,當(dāng)故障發(fā)生的時(shí)候,存儲(chǔ)的磁盤上數(shù)據(jù)會(huì)遭到嚴(yán)重的破壞,此時(shí)需要對(duì)裝入的數(shù)據(jù)引發(fā)故障的介質(zhì)進(jìn)行數(shù)據(jù)處理,使得前副本的數(shù)據(jù)得到恢復(fù),并且要重新開始將事務(wù)進(jìn)行提交,然后再進(jìn)行數(shù)據(jù)庫的錄入。
2 數(shù)據(jù)恢復(fù)技術(shù)分析
在Oracle中進(jìn)行數(shù)據(jù)恢復(fù),主要是將冗余數(shù)據(jù)之下重新建立數(shù)據(jù)庫中的數(shù)據(jù),進(jìn)行恢復(fù)需要注意兩個(gè)比較關(guān)鍵性的問題,一是建立冗余數(shù)據(jù),二是建立冗余數(shù)據(jù)進(jìn)行數(shù)據(jù)庫的恢復(fù),在此過程中主要是對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)儲(chǔ)或者登錄日志文件,在通常情況下要將數(shù)據(jù)庫系統(tǒng)這兩種使用方法進(jìn)行探討。
2.1 數(shù)據(jù)轉(zhuǎn)儲(chǔ)進(jìn)行數(shù)據(jù)恢復(fù)
通常所說的轉(zhuǎn)儲(chǔ)主要是指將整個(gè)數(shù)據(jù)庫進(jìn)行轉(zhuǎn)存,通過復(fù)制的方式將數(shù)據(jù)庫存儲(chǔ)到另外的磁盤或者是將整個(gè)磁盤保護(hù)起來,進(jìn)行數(shù)據(jù)轉(zhuǎn)儲(chǔ)主要有兩種的轉(zhuǎn)儲(chǔ)方式,一種是靜態(tài)轉(zhuǎn)儲(chǔ),另外一種是動(dòng)態(tài)轉(zhuǎn)儲(chǔ)。其中所說的靜態(tài)轉(zhuǎn)儲(chǔ)主要是在處理事務(wù)時(shí)進(jìn)行轉(zhuǎn)儲(chǔ)的操作,但是在轉(zhuǎn)儲(chǔ)的過程中需要用戶事務(wù)結(jié)束之后才能夠進(jìn)行,這樣就會(huì)使得數(shù)據(jù)庫的可用性降低;另外動(dòng)態(tài)轉(zhuǎn)儲(chǔ)主要是指一種并發(fā)的發(fā)生過程,主要是用戶事務(wù)以及轉(zhuǎn)儲(chǔ)操作的并發(fā)進(jìn)行,在此期間可以允許數(shù)據(jù)庫的修改或者是存取,動(dòng)態(tài)轉(zhuǎn)儲(chǔ)能夠保證副本中數(shù)據(jù)的有效性,而且它能夠克服靜態(tài)轉(zhuǎn)儲(chǔ)所存在的缺點(diǎn)。當(dāng)我們進(jìn)行動(dòng)態(tài)轉(zhuǎn)儲(chǔ)的副本故障恢復(fù)時(shí),要根據(jù)記錄下的事務(wù)處理數(shù)據(jù)建立文件,然后根據(jù)副本上的日志將數(shù)據(jù)庫恢復(fù)到比較正常的現(xiàn)狀。
2.2 依據(jù)日志進(jìn)行數(shù)據(jù)恢復(fù)
日志文件主要是用于數(shù)據(jù)庫中的事務(wù)處理更新操作的文件,根據(jù)日志文件的信息可以對(duì)數(shù)據(jù)庫中的故障進(jìn)行解決,可以進(jìn)行系統(tǒng)故障的分析,并且可以協(xié)助備份的副本解決故障達(dá)到恢復(fù)的目的。
3 故障恢復(fù)策略分析
在進(jìn)行故障恢復(fù)的時(shí)候,首先要從事務(wù)故障、系統(tǒng)故障以及介質(zhì)故障進(jìn)行分析,前兩種的故障通過系統(tǒng)修復(fù)自動(dòng)完成,介質(zhì)故障的恢復(fù)主要是重裝數(shù)據(jù)庫將重做已完成的事務(wù)。當(dāng)進(jìn)行系統(tǒng)故障恢復(fù)的時(shí)候,會(huì)要求將數(shù)據(jù)庫的數(shù)據(jù)達(dá)到一致性,此時(shí)就要求將事務(wù)已經(jīng)提交的結(jié)果要重新寫入數(shù)據(jù)庫之中,因此在系統(tǒng)重新啟動(dòng)的時(shí)候要對(duì)已經(jīng)提交的事務(wù)進(jìn)行重做,使得所有的數(shù)據(jù)恢復(fù)到一致的狀態(tài)。對(duì)于動(dòng)態(tài)的數(shù)據(jù)轉(zhuǎn)儲(chǔ)還需要日志的文件副本作為基準(zhǔn),將數(shù)據(jù)庫的數(shù)據(jù)恢復(fù)到一致的狀態(tài),此時(shí)在恢復(fù)的過程中需要執(zhí)行數(shù)據(jù)庫的命令。其格式如下:
[RECOVER[AUTOMAllC][FROM ADRESS] 指的是將從什么地方進(jìn)行恢復(fù)
[{[[STANDBYDATABASE][UNTILCANCEL指的是終止的位置
[UNTIL TIME]時(shí)間 按時(shí)間進(jìn)行恢復(fù)
[UNTIL CHANGE] 整數(shù) 按系統(tǒng)進(jìn)行修改
[USING BACKUP CONTROLFILE] 使用備份控制文件
[TABLESPACE]表空間 指定表空間
[DATABASE ]‘文件名’ [‘文件名’]-指定數(shù)據(jù)庫文件
[LOGFILE]‘文件名’ 指定進(jìn)行數(shù)據(jù)恢復(fù)重做地址
[CONTINUE[DEFAULT] 默認(rèn)繼續(xù) 默認(rèn)繼續(xù)重做日志
[CANCELI] 取消 取消恢復(fù)數(shù)據(jù)庫操作
[PARALLEL] 并行句子 并行操作實(shí)現(xiàn)恢復(fù)
通過代碼的執(zhí)行,對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行恢復(fù),可以將數(shù)據(jù)的恢復(fù)做到最好,以此來實(shí)現(xiàn)數(shù)據(jù)庫中的數(shù)據(jù)管理,利用SQL語言對(duì)數(shù)據(jù)庫中進(jìn)行命令的操作,通過保障數(shù)據(jù)庫的數(shù)據(jù)一致性來恢復(fù)數(shù)據(jù)。在進(jìn)行數(shù)據(jù)庫的數(shù)據(jù)保護(hù)的時(shí)候可以對(duì)其進(jìn)行數(shù)據(jù)的備份處理,因?yàn)閭浞菘梢詾閿?shù)據(jù)的缺失問題解決提供保障。
4 總結(jié)語
隨著科學(xué)技術(shù)的發(fā)展,對(duì)于數(shù)據(jù)庫的管理也愈發(fā)重要,當(dāng)數(shù)據(jù)管理員發(fā)現(xiàn)問題之后才會(huì)想起來對(duì)數(shù)據(jù)進(jìn)行保護(hù)的時(shí)候,已經(jīng)會(huì)造成損失,因此在進(jìn)行數(shù)據(jù)庫管理的時(shí)候一定要養(yǎng)成數(shù)據(jù)備份的習(xí)慣,還要從根本上對(duì)數(shù)據(jù)的相關(guān)恢復(fù)技能進(jìn)行學(xué)習(xí),從最基本的數(shù)據(jù)庫數(shù)據(jù)恢復(fù)做起,明確故障處理的方法。
參考文獻(xiàn):
[1]安亞強(qiáng).Oracle備份與恢復(fù)及故障研究[J].內(nèi)蒙古煤炭經(jīng)濟(jì),2009,(4):37-39.
[2]賈仁昌.Oracle數(shù)據(jù)庫備份與恢復(fù)[J].同煤科技,2008,(1):18-19.
3]王紅艷,李濤.Oracle數(shù)據(jù)庫緊急故障解決方案[J].電腦知識(shí)與技術(shù),2009,5(27):7600-7602.
[4]李桂祥,王放,李剛榮等.基于文件同步的ORACLE數(shù)據(jù)庫備份與恢復(fù)方法[J].重慶醫(yī)學(xué),2009,33(9):1325-1326.
[5]王國明.Oracle數(shù)據(jù)庫的故障恢復(fù)機(jī)制[J].計(jì)算機(jī)時(shí)代,2011,(11):66-68.
[6]琚玲,趙芳.ORACLE數(shù)據(jù)庫連接配置淺析及故障排除[J].氣象科技,2009,37(4):448-451.
作者單位:68090部隊(duì),陜西西安 710016