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