1. 程式人生 > >資料庫系統概述之資料庫恢復技術

資料庫系統概述之資料庫恢復技術

第十章  資料庫恢復技術

1.事務

事務是使用者定義的一個數據庫操作序列,這些操作要麼全做要麼全部做,是一個不可分割的工作單位。

 

2.COMMIT和ROLLBACK

COMMIT表示提交,即提交事務的所有操作,將事務中所有對資料庫的更新寫回到磁碟上的物理資料庫中去。

ROLLBACK表示回滾,即在事務執行的過程中發生了某種故障,事務不能繼續執行,系統將事務中對資料庫的所有已完成的操作全部撤銷,回滾到事務開始時的狀態。

 

3.事務的ACID特性

原子性(Atomicity):要麼全做,要麼全部做

一致性(Consistency):從一個一致性狀態到另一個一致性狀態

隔離性(Isolation):一個事務的執行不能被其他事務干擾

持續性(Durability):事務一旦提交,改變是永久的

 

4.事務故障的種類

事務內部的故障(系統做撤銷操作);

系統故障(對未完事務做撤銷操作,對已完成的事務做重做操作)

介質故障(DBA介入,重做最近轉儲的資料庫副本和日誌檔案副本,重做已完成的事務)

 

5.建立冗餘資料的技術

資料轉儲和登記日誌檔案

 

6.資料轉儲

資料轉儲即資料庫管理員定期將整個資料庫複製到磁帶、磁碟或其他儲存介質上儲存起來的過程。這些備用的資料稱為後備副本。當資料庫遭到破壞後可以將後備副本重新裝入,但重灌後的副本只能將資料庫恢復到轉儲時的狀態。

轉儲可分為靜態轉儲和動態轉儲。靜態轉儲時在系統中無執行事務時進行的轉儲操作。即轉儲操作開始的時刻資料庫處於一致狀態,而轉儲期間不允許(或)不存在對資料庫的任何存取、修改活動。顯然,靜態轉儲得到的一定是一個數據一致性的副本。動態轉儲時指轉儲期間允許對資料庫進行存取或修改。即轉儲和使用者事務可以併發執行。

資料轉儲方法可以分為4類:動態海量轉儲、動態增量轉儲、靜態海量轉儲、靜態增量轉儲。

 

7.日誌檔案

日誌檔案是用來記錄事務對資料庫的更新操作的檔案。

日誌檔案的作用:日誌檔案在資料庫恢復中起著非常重要的作用,可以用來進行事務故障恢復和系統故障恢復,並協助後備副本進行介質故障恢復。具體作用有:

a.事務故障恢復和系統故障恢復必須用日誌檔案

b.在動態轉儲方式中必須建立日誌檔案,後備副本和日誌檔案結合起來才能有效地恢復資料庫

c.在靜態轉儲方式中也可以建立日誌檔案,當資料庫毀壞後可重新裝入後援副本,把資料庫恢復到轉儲結束時刻的正確狀態,然後利用日誌檔案把已完成的事務進行重做處理,對故障發生時尚未完成的事務進行撤銷處理。

登記日誌檔案必須遵循的兩條原則:

a.登記的次序嚴格按併發事務執行的時間次序

b.必須先寫日誌檔案,後寫資料庫

 

8.登記日誌檔案時為什麼必須先寫日誌檔案,後寫資料庫

a.寫資料庫和寫日誌檔案時兩個不同的操作;

b.在這兩個操作之間可能發生故障;

c.如果先寫資料庫修改,而在日誌檔案沒有登記這個修改,則以後就無法恢復這個修改操作。

d.如果先寫日誌檔案,但沒有修改資料庫,按日誌檔案恢復時,只不過是多執行了一次不必要的UNDO操作,並不影響資料庫的正確性。

 

9.針對不同的故障,給出恢復的策略和方法

發生事務故障時,系統做撤銷操作;

發生系統故障時,對未完成事務做撤銷操作,對已完成的事務重做

發生介質故障時,需要DBA介入,重做最近轉儲的資料庫副本和日誌檔案時,重做已完成的事務。