侯曉凌
(山西大同大學計算機網絡工程學院 山西省大同市 037009)
隨著社會發(fā)展,計算機已經成為社會發(fā)展最重要的科技產品,影響人類歷史進程,現(xiàn)如今各行各業(yè)均已經離不開計算機。計算機數(shù)據庫是計算機的核心部分,存儲了大量的數(shù)據信息,如果數(shù)據庫受損或者丟失,將會造成嚴重的經濟損失。計算機數(shù)據庫備份與恢復技術,可以解決數(shù)據庫使用問題,保障數(shù)據庫基本使用功能。由此可見,分析如何應用計算機數(shù)據庫備份與恢復技術解決是十分必要的。
數(shù)據庫備份技術即指數(shù)據備份技術,主要用于解決系統(tǒng)故障、操作失誤所帶來的數(shù)據障礙問題,可以將部分或者全部數(shù)據保存,通過應用主機硬盤進行備份或者復制到其他存儲介質[1]。數(shù)據庫備份技術從傳統(tǒng)的內置、外置冷備份到現(xiàn)代的網絡備份技術,經過了多個發(fā)展階段,備份技術也較為成熟,恢復時間也更快。數(shù)據庫備份技術極為重要,數(shù)據庫運行過程中受到多種威脅,難以進行防范。數(shù)據庫受損后將會導致訪問平臺、數(shù)據處理功能出現(xiàn)故障,系統(tǒng)上存在漏洞與預制黑洞,給計算機系統(tǒng)造成安全隱患問題。尤其對于企業(yè)而言,計算機數(shù)據庫是企業(yè)多年發(fā)展心血,一旦受損會給企業(yè)正常運行帶來巨大影響。
計算機數(shù)據庫恢復技術即數(shù)據恢復技術,是指通過特殊技術手段,將臺式機上的存儲磁帶庫、移動硬盤、U 盤、硬盤等位置的數(shù)據進行搶修與恢復[2]。數(shù)據庫恢復技術屬于信息再生技術,能夠解決由于計算機存儲介質損壞后導致數(shù)據無法訪問,該技術具有補救性,無法有效預防數(shù)據丟失。多數(shù)情況下數(shù)據丟失后都可以得到有效恢復,但部分數(shù)據庫被低級格式化、覆蓋后難以恢復。數(shù)據丟失的原因多樣化,主要是由于自然因素損壞、硬件故障、程序破壞、人為操作等原因導致。
2.1.1 完全備份
完全備份是最常見的備份技術,可以將數(shù)據庫的信息全部備份。完全備份技術優(yōu)勢十分明顯,當數(shù)據庫數(shù)據出現(xiàn)丟失、受損時,可以使用備份磁盤恢復丟失數(shù)據。但這種技術也有明顯的缺點,完全備份技術僅能夠備份對應時間節(jié)點的數(shù)據庫信息,無法備份事務日志,導致備份信息具有時間局限性,僅能夠恢復到備份時數(shù)據庫的狀態(tài)。此外,完全備份需要占用大量的空間,數(shù)據重復性高,增強了用戶的使用成本。完全備份具有時間節(jié)點限制,需要使用人員定期備份,但完全備份時間較長,浪費了大量的存儲空間與耗費時間。
2.1.2 事務日志備份
事務日志,主要是用于記錄一段時間內數(shù)據庫出現(xiàn)的具體改變,是單獨存在文件。技術人員在進行數(shù)據庫備份時,只需要復制完全備份數(shù)據庫后的事務日志,就可以完整備份數(shù)據庫。事務日志備份在時間上優(yōu)勢明顯,備份內容相對較少,占用的空間也不大。一旦數(shù)據庫出現(xiàn)問題,可以通過事務日志備份將數(shù)據庫恢復到最后一次提交事務日志的狀態(tài),能夠盡可能地降低數(shù)據庫受損情況。
事務日志備份主要適用于以下幾種情況:
(1)數(shù)據庫規(guī)模龐大,使用者能夠提供備份存儲空間有限;
(2)數(shù)據庫中的數(shù)據非常重要,一旦丟失、損壞后將會造成嚴重的問題,如企業(yè)財務系統(tǒng)、銀行存取款系統(tǒng);
(3)對于數(shù)據庫的更新狀態(tài)要求高,如果數(shù)據庫出現(xiàn)故障后,需要立即恢復到事發(fā)前的狀態(tài)。
2.1.3 增量備份
增量備份也被叫作差異備份,備份過程中不使用事務日志,屬于數(shù)據庫映像技術。增量備份技術備份時所占用的存儲空間相對較小,主要記錄完全備份以后的數(shù)據庫改變情況。增量備份耗時時間比較短,每日都可以進行一次備份。增量備份雖然能夠節(jié)省存儲空間與時間,但數(shù)據恢復較為困難,對于技術人員的專業(yè)水平要求較高,并需要付出較大的恢復成本。此外,增量備份可靠性不高,容易出現(xiàn)備份丟失的現(xiàn)象。
2.1.4 文件備份
數(shù)據庫是由多個文件構成,如果數(shù)據庫規(guī)模十分龐大,無法在12 小時完成數(shù)據庫備份,可以考慮使用文件備份的方式進行備份,將數(shù)據庫中的文件進行分區(qū)備份。一般中小型企業(yè)、個人數(shù)據庫較小,備份時間也比較短,不適用于文件備份方式。
2.2.1 離線備份
離線備份即冷備份技術,是指在數(shù)據庫離線狀態(tài)下進行完整備份,數(shù)據庫停止更新。離線備份技術能夠解決完全備份與數(shù)據庫不一致問題,也能夠完整備份數(shù)據庫。離線備份也有明顯的缺點,用戶在備份期間無法使用數(shù)據庫,影響使用者的正常工作。目前離線備份主要依靠Server-Free、LAN-Free 等技術,具有投資少的優(yōu)勢[3]。但由于離線備份時間較長,數(shù)據庫管理人員要慎重選用離線備份技術。
2.2.2 在線備份
在線備份技術即熱備份技術,是在數(shù)據庫運行狀態(tài)下進行備份,可以實現(xiàn)同步數(shù)據備份,備份信息具有即時性特征。但同步備份時所占用的資源數(shù)據庫比較大,但恢復時間短,主要依賴于數(shù)據庫日志文件進行同步備份,解決了數(shù)據庫備份完整性問題,避免了數(shù)據庫與備份數(shù)據不一致。但在線備份時,重要數(shù)據文件在打開過程中可能會被其他應用修改,存在備份差異。因此在文件備份期間,應該給予備份系統(tǒng)單獨修改特權,避免其他系統(tǒng)對其進行更新。
邏輯備份是指提出數(shù)據庫中的數(shù)據,并用輸出文件進行記錄,該備用方法主要由開發(fā)人員使用。邏輯備份是點的邏輯備份,可以描述數(shù)據庫中的一點及其相關邏輯,無法完全記錄點與點之間連續(xù)發(fā)生事情,因此并受到數(shù)據管理人員的青睞。
2.4.1 不定期備份
不定期備份,是指根據數(shù)據庫信息變化進行數(shù)據備份。當使用者對數(shù)據庫中的數(shù)據進行修改、添加時,需要對之前狀態(tài)的數(shù)據庫進行備份,如執(zhí)行Delete、Database 等命令時,則需要對數(shù)據庫進行不定期備份[4]。
2.4.2 定期備份
定期備份屬于日常數(shù)據庫維護工作的一部分,能夠保障數(shù)據庫運行的穩(wěn)定性。數(shù)據庫管理人員需要根據工作計劃制定相應的備份計劃,避免備份操作間隔時間過大或者過于頻繁,導致資源浪費、系統(tǒng)運行不穩(wěn)等問題。對于關鍵性且難以恢復的數(shù)據,需要縮短備份時間,增加備份頻率,保障數(shù)據庫運行安全。
數(shù)據庫安全性、可靠性越高,對于使用者越有利。網絡故障、軟件故障、系統(tǒng)故障、硬件故障、人為因素等會對數(shù)據庫造成影響,導致數(shù)據庫信息丟失、損壞。技術人員在重構數(shù)據庫時,可以通過數(shù)據庫恢復技術,解決數(shù)據丟失、損壞問題。當數(shù)據庫出現(xiàn)故障時,技術人員可以將備份數(shù)據加載到系統(tǒng)中,通過自動執(zhí)行安全性檢查,將其自動加入數(shù)據庫結構當中,起到恢復數(shù)據目的。
在恢復由系統(tǒng)導致的故障時,需要將已經完成的事務重做,并且撤銷尚未發(fā)生的事務。技術人員重新啟動系統(tǒng),系統(tǒng)就可以自動恢復。具體恢復步驟如下:
(1)系統(tǒng)掃描故障發(fā)生前的日志,并且找出提交事務,必須同時具備COMMIT 與BEGIN TRANSACTION 標記,將其列入重做隊列。但對于缺乏COMMIT 標記的提交事務,需要將其列入撤銷隊列;
(2)系統(tǒng)反向掃描日志文件,進行逆向操作,將對應的數(shù)據寫到數(shù)據庫中[5]。
事務故障,是指發(fā)生在事件時到結束后的事件。技術人員可以通過日志撤銷已經修改數(shù)據庫的操作,使其恢復到數(shù)據庫正常時的狀態(tài)。事務故障恢復技術執(zhí)行過程如下:
(1)反向掃描日志;
(2)尋找更新操作;
(3)逆向執(zhí)行更新操作;
(4)持續(xù)掃描文件,尋找對應事務,采用同樣的操作手段;
(5)直至事務故障被解決[6]。
該技術主要通過重新安裝數(shù)據庫將事務重做。技術人員在解決介質故障時,需要管理員共同介入,并提供需要恢復數(shù)據庫的相關資料,如日志文件副本、轉儲數(shù)據庫副本。技術人員只要執(zhí)行系統(tǒng)恢復命令,就可以完成數(shù)據庫恢復技術。
日志是記載了數(shù)據庫修改的相關信息,因此恢復日志,有助于數(shù)據庫數(shù)據恢復。具體內容主要包括以下幾個方面。
4.1.1 推遲數(shù)據庫修改
該技術,主要是在局部提交事務之后再進行各種寫操作,能夠保障事務的原子性[7]。如果故障發(fā)生于事務未完成之前,修改信息尚未被寫到磁盤上,只是進入了日志,技術人員可以忽略此部分日志。但如果已經進入到磁盤提交狀態(tài),日志中的數(shù)據被寫入到磁盤上,則要視情況判斷事務是否需要重做。技術人員可以在子系統(tǒng)中可以看到各類事務,如果要重做可以從日志中尋找新值,更新數(shù)據項。需要注意,部分事務在重做時也有可能會出現(xiàn)各種各樣的故障,技術人員需要反復重做重要事務。
4.1.2 即刻修改數(shù)據庫
在應用即刻修改數(shù)據庫技術時,需要將要完成的事務繼續(xù)執(zhí)行,并將新值寫到磁盤上,完成相關事務。當出現(xiàn)故障時,系統(tǒng)會執(zhí)行撤銷操作,使用新值替換原有日志記錄中的舊值。因此在處理故障時,技術人員可以通過執(zhí)行write(X)操作,將其記錄到日志,解決故障。該技術優(yōu)勢較為明顯,能夠防止出現(xiàn)非易失性存儲上丟失信息。當故障發(fā)生時,技術人員需要根據日志進行事務重做必要性判斷,如果日中同時包含(T(i) COMMIT)與((i)START),則必需進行重做[8]。
4.1.3 檢查點方法
技術人員在檢查事務是否重做時需要耗費大量的時間,并且可以發(fā)現(xiàn)磁盤中已經被寫入了許多事務,如果盲目地進行重做,會使恢復過程更加冗長。技術人員可以采用檢查點技術方法,以周期作為檢查點快速判斷哪些事務應該重做或者撤銷。
陰影頁技術不使用日志進行技術操作,而是將數(shù)據庫視為多個磁盤塊(也被稱為“頁”)。技術人員在運行事務時,如果陰影表與頁表內容相同時,不允許修改磁盤塊[9]。需要注意,技術人員在執(zhí)行寫操作時,會改變頁表的部分信息。事務發(fā)生時,如果易失性存儲器中出現(xiàn)頁表,技術人員需要將其找出。技術人員執(zhí)行事務成功后,會由當前頁表替換掉原有頁表,并繼續(xù)執(zhí)行下一個事務。
4.3.1 事發(fā)事務運行環(huán)境
系統(tǒng)緩沖塊可以為事務共享,并作為多個事務修改的區(qū)域[10]。技術人員可以用即刻修改技術進行修改,并采用X 封鎖到事務結束,預防其他事務讀取未提交數(shù)據,防止出現(xiàn)其他修改。
4.3.2 回退事務
回退事務時,可以反向掃描日志文件,掃描完所有<T(i)START)日志文件。由于進行了事務封鎖,在回退事務時,其他事務無法修改數(shù)據,也不會抹去其他事務執(zhí)行過程中數(shù)據。
隨著計算機技術快速發(fā)展,已經融入了人們的日常生活,并對社會科技發(fā)展產生了非常重要的影響。數(shù)據庫是計算機系統(tǒng)核心部分,當數(shù)據庫出現(xiàn)丟失、損毀現(xiàn)象時,技術人員要及時恢復、修補數(shù)據庫,讓系統(tǒng)盡快恢復正常運行,降低故障發(fā)生時所帶來的影響,挽回損失。文章從多個方面介紹了恢復與備份技術,技術人員與數(shù)據庫管理人員在借鑒時,還需要結合實際情況進行使用。