資料庫恢復技術有哪些?


資料庫系統類似於一些不同的PC框架,主要依賴於故障,但其中儲存的資料應根據需要隨時可用。然後,當資料庫發生故障時,它應該具備快速恢復的功能。它還應該具有原子性,

例如,要麼事務成功完成並提交(其影響永久記錄在資料庫中),要麼事務不應對資料庫產生任何影響。

對於備份資料和從任何故障情況中恢復資料,既有自動方法,也有非自動方法。用於恢復由於系統崩潰、事務錯誤、病毒、災難性故障、錯誤命令執行等導致的丟失資料的技術稱為資料庫恢復技術。

恢復方法嚴重依賴於一個稱為系統日誌的特殊檔案的可用性。它包含有關每個事務的開始和結束以及事務中發生的任何更新的資訊。日誌監控所有影響資料庫項值的事務活動。此資料需要從事務失敗中恢復。

事務失敗

事務失敗的原因如下:

  • 邏輯錯誤 − 事務由於程式碼錯誤或任何內部錯誤條件而無法完成。

  • 系統錯誤 − 資料庫系統本身終止正在執行的事務,因為DBMS無法執行它,或者由於某些系統條件而需要停止。例如,在發生掛起或資源不可用時,系統會提前終止正在執行的事務。

DBMS是一個高度複雜的系統,每秒執行許多事務。DBMS的健壯性和彈性取決於其複雜的體系結構及其底層的硬體和系統軟體。如果它在事務處理期間發生故障或崩潰,則系統通常會遵循某種演算法或過程來恢復丟失的資料。

恢復技術

資料庫的恢復技術如下所示:

基於日誌的恢復

日誌是用於管理事務期間活動記錄的連續記錄。日誌在實際更改之前寫入,並存儲在穩定的儲存介質上。

基於日誌的恢復過程以三種不同的方式工作,如下所示:

  • 延遲更新
  • 立即更新
  • 檢查點

延遲更新方法

在此方法中,資料庫在事務到達其提交點之前不會實際更新到磁碟。之後,更新會持久地儲存在日誌中,然後寫入資料庫。

在提交點之前,事務更新在本地事務工作區(如搖籃)中管理。如果事務在到達提交點之前失敗,它不會更改資料庫。

因此,無需撤銷 (UNDO)。因此,需要從日誌中重做 (REDO) 已提交事務的操作的影響,因為該影響可能尚未記錄。

立即更新方法

在此方法中,資料庫可能會在事務到達其提交點之前被事務的某些操作更新。這些操作會可靠地記錄在磁碟上的日誌中,有效地先寫後改。

如果事務在記錄對資料庫的某些更改後但仍在提交點之前提前終止,則必須修復其對資料庫操作的影響。

快取/緩衝

在此方法中,包含要更新的資料項的一個或多個磁碟頁面被儲存到主記憶體緩衝區中,然後在記憶體中更新,然後再寫回磁碟。

DBMS 維護一組稱為 DBMS 快取的記憶體緩衝區來儲存這些緩衝區。目錄用於跟蹤緩衝區中哪些資料庫項。

更新於:2021年7月8日

14K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告