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