資料庫 資料庫恢復技術

2021-09-08 11:50:33 字數 1810 閱讀 4311

1.沒錯 ,又到了資料庫的考試,我需要總結一下資料庫的知識了。

2.首先是資料庫的恢復技術。這裡面有乙個很重要的東西,也是關係型資料庫與其他資料庫重大的區別所在。

(1)事務:事務通俗的來講就是使用者定義的一系列操作,但是這些操作有著十分明顯的特點,就是十分的團結。說的其實這些操作是乙個整體,要麼全做要麼全部不做。再sql中定義事務的語句一般有3條:

begin  transaction

commit

rollback

乙個事務通常都是以begin transaction開始,結果有兩種,要麼成功的commit要麼就是失敗rollback。其中commit就是提交,也就是說更新資料,而rollback恰恰相反,它表示事務再執行的過程中可能遇到了某種故障,無法繼續執行,所以回滾,撤銷之前的所有的資料的操縱。

(2)事務的特點:acid四大特性。

a(atomicity)原子性:說的就是事務是乙個整體,要麼全做要麼全部不做。

c(consistency)一致性:說的就是操作的資料前後要保持一致,比如經典的銀行轉賬的例子:a轉b1w,那麼a賬戶減少1w,b增加1w二者的總和不變。這就是一致性的含義。

i(isolation)隔離性乙個事務不被其他事務干擾,也就是說當前的事務運算元據時,其他事務不能夠修改這些資料。這個我們後邊再說,關於事務的併發控制,是乙個很重要的話題。

d(durability)持續性,事務提交之後,他對資料庫中的資料的改變就是永久的。

3.事務的這四大特徵十分的重要。事務時資料恢復和併發控制的基本單位。但是事務的者四個特性不一定每次執行都可以得到保持一般來說破壞事務的acid特性的有兩個大的方面:

(1)多個事務並行執行,不同的事務交叉執行

(2)事務執行過程中被強制的停止。

4.資料庫故障的種類

(1)事務內部故障:事務內部故障其實就是我們剛才說的,事務沒有到達預期的預期的終點,中間就中斷了執行,那麼事務執行回滾的操作,撤銷剛才執行的效果。

(2)系統故障:指的就是任何造成系統停止運轉的事件,使得系統需要重新啟動。這個時候,丟失資料最嚴重的是在快取區,發生這類事件的時候,需要再系統重新啟動的時候實現對事務的強行回滾。

(3)介質故障:硬體上面的故障,這個無法避免,但是發生的概率很小。

(4)計算機病毒。這個應該都聽說過一點,就是使用程式惡意的破壞資料庫中的內容。

5.資料庫的恢復

資料庫的恢復有很多實現的方法,一般的通用的是:資料的轉儲和登記日誌檔案。

資料轉儲:其實就是乙個備份的意思。dba定期的將資料複製到其他的磁碟上,分為動態的和靜態的。二者的區別就是資料庫的狀態不同,靜態的指的是資料庫此時沒有資料的修改,動態的相反,這裡我們就不在深入這個問題。

日誌檔案:其實就是事務的記事本。用來記錄事務對資料庫的更新操作。也是分為兩大類:

(1)以記錄為單位的日誌檔案:日誌檔案需要登記的內容是

各個事務的開始標記

各個事務的結束標記

各個事務的更新操作。

(2)以資料塊為單位的日誌檔案。事務包括事務標識和被修改的資料塊。

為了保證資料庫是可以恢復的,登記日誌檔案的時候必須包含兩條規則:

(1)登記的次序嚴格的按照併發事務執行的事件次序

(2)必須先寫日誌檔案,後寫資料庫。

那麼一旦事務發生故障了,乙個通過日誌檔案恢復的策略就是

(1)反向掃瞄這個日誌檔案,查詢這個事務的更新

(2)對該事務的更新做乙個逆操作。

(3)繼續反向的掃瞄

(4)直到讀取到事務的開始標記。

這樣一來,資料庫就可以再一定程度上得到恢復。這也是事務的乙個很大的作用,這裡我們先**到這裡,後邊我們繼續說事務再併發操作的作用。

資料庫 資料庫恢復技術

1.事務 使用者定義的乙個資料庫操作序列,這些操作要麼全做要麼全部不做,是乙個不可分割的工作單位 2.事務的特性 原子性 atomicity 一致性 consistency 隔離性 isolation 持續性 durability 原子性 要麼全做,要麼全不做 一致性 事務的執行結果必須是使資料庫從...

資料庫 資料庫恢復技術

事務執行失敗 邏輯錯誤 系統錯誤。邏輯錯誤 系統內部條件導致事務無法正常執行,例如 非法輸入 找不到資料 運算溢位等 系統錯誤 系統外部條件導致事務無法正常執行,例如 併發事務由於死鎖而強制撤銷事務 恢復 撤銷事務undo 造成系統停止運轉的任何事件,例如 cpu異常,o s異常,dbms異常,拔掉...

資料庫恢復技術

資料庫恢復技術 故障種類 1.事務故障 某個事務在執行過程中由於種種原因未執行至正常終止點就夭折了 事務故障的恢復 1 對於可預見的錯誤,由事務程式來處理 2 對於不可預見的錯誤,由dbms強行回滾該事務 2.系統故障 整個系統的正常執行突然被破壞,所有正在執行的事務都非正常終止,記憶體中資料緩衝區...