故障恢復+並發控制
事務:用戶定義的一個數據庫操作序列,這些操作要麽全做要麽全不做,是一個不可分割的工作單位。
ACID特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持續性(Durability)。
故障種類:事務內部故障、系統故障、介質故障、計算機病毒。
恢復機制關註兩個問題:
1)如何建立冗余數據。
2)如何利用這些冗余數據實施數據庫恢復。
建立冗余數據:
1)數據轉儲:DBA定期將整個數據庫復制到磁帶或另一個磁盤上保存。
靜態轉儲:在系統中無運行事務時進行轉儲。即轉儲操作開始時,數據庫處於一致性狀態,而轉儲期間不允許對數據庫進行任何存取、修改。
動態轉儲
海量轉儲:每次轉儲全部數據庫。
增量轉儲:每次只轉儲上一次轉儲後更新過的數據。
2)登記日誌文件
遵循兩條原則:
A.登記的次序嚴格按並發事務執行的時間順序。
B.必須先寫日誌文件,後寫數據庫。
恢復策略:
(1)事務故障的恢復
事務故障指事務在運行至正常終止點前被終止。
恢復子系統利用日誌文件撤銷此事務已對數據庫進行的修改,由系統自動完成,對用戶透明。
(2)系統故障的恢復
系統故障指未完成事務對數據庫的更新可能已寫入數據庫或已提交事務對數據庫的更新可能還留在緩沖區沒來得及寫入數據庫。
恢復操作是要撤銷故障發生時未完成的事務,重做已完成的事務。由系統重啟時自動完成,不需用戶幹預。
(3)介質故障的恢復
介質故障指磁盤上的物理數據和日誌文件被破壞。
恢復方法是重裝數據庫,然後重做已完成的事務。
具有檢查點的恢復技術:
利用日誌技術恢復數據庫時,恢復子系統需要搜索日誌,確定哪些需要REDO,哪些需要UNDO。耗費時間,且重做了REDO。
檢查點的恢復技術:在日誌文件中增加檢查點記錄。內容共包括:建立檢查點時刻所有正在執行的事務清單;這些事務最近一個日誌記錄的地址。
數據庫鏡像:
DBA周期性的轉儲數據庫,負擔重。
數據庫鏡像:每當數據庫更新時,自動把整個數據庫或關鍵數據復制到另一個磁盤上。
故障恢復+並發控制