概念:事務是使用者定義的乙個資料庫操作序列,這些操作要麼全做要麼全不做,是乙個不可分割的工作單位 。在關聯式資料庫中,乙個事務可以是一條sql語句、一組sql語句或整個程式乙個應用程式可以包含多個事務。
原子性
一致性
隔離性
永續性事務的執行時,後像(ai)在事務提交後才寫入資料庫
不同時刻的處理
恢復管理器執行步驟:
① 從後向前掃瞄日誌,將提交的事務放入佇列redo-list。
② 從前往後掃瞄日誌。對遇到的每一記錄:
如果t不是redo-list中的事務,則什麼也不做。
如果t是redo-list中的事務,則為資料項x寫入值v1。
③ 對每個未完成的事務,在日誌中寫入乙個記錄並重新整理日誌。
後像(ai)在事務提交前完全寫入資料庫
恢復管理器執行步驟
首先對日誌檔案從後向前進行掃瞄,將有記錄的事務放入redo-list佇列。
然後對日誌檔案從後向前進行掃瞄
對遇到的每乙個記錄,若事務t在redo-list佇列中,則恢復管理器什麼都不做
對遇到的每乙個記錄,若事務t不在redo-list佇列中,則恢復管理器將資料項x在資料庫中的值改為舊值v1。
後像(ai)在事務提交前後寫入資料庫
恢復管理器執行步驟
首先對日誌檔案從後向前進行掃瞄,將有記錄和沒有記錄的事務分別放入兩個佇列:redo-list佇列,undo-list佇列
從前向後再次掃瞄日誌記錄,重新執行redo-list佇列中的事務。
從後向前再次掃瞄日誌記錄,撤銷undo-list佇列中的事務。
提交一致性檢查點
快取記憶體一致性檢查點
模糊一致性檢查點
新的事務不能開始直到檢查點完成。
現有的事務繼續執行直到提交或中止,並且相關日誌都寫入穩定儲存器。
將當前日誌緩衝區中的日誌記錄寫回穩定儲存器中的日誌檔案。
將日誌記錄寫入穩定儲存器。檢查點操作完成。
快取記憶體一致性檢查點
新的事務不能開始直到檢查點完成。
已存在的事務不允許執行新的更新操作,如寫緩衝塊或寫日誌記錄。
將當前日誌緩衝區中的日誌記錄寫回穩定儲存器中的日誌檔案。
將當前資料緩衝區中的所有資料記錄寫入磁碟。
將日誌記錄寫入穩定儲存器,其中l是所有活動事務的列表
模糊一致性檢查點
允許事務在記錄寫入日誌後但在修改過的快取塊寫到磁碟前做更新。
系統將最後乙個完善檢查點記錄在日誌中的位置存在磁碟的固定位置last-checkpoint
系統在寫入< checkpoint>記錄時不更新資訊,而是在寫< checkpoint>記錄前,建立所有修改過的緩衝塊的列表。
只有所有該列表中的緩衝塊都輸出到磁碟上以後,last-checkpoint資訊才會更新。
資料庫 資料庫恢復技術
1.事務 使用者定義的乙個資料庫操作序列,這些操作要麼全做要麼全部不做,是乙個不可分割的工作單位 2.事務的特性 原子性 atomicity 一致性 consistency 隔離性 isolation 持續性 durability 原子性 要麼全做,要麼全不做 一致性 事務的執行結果必須是使資料庫從...
資料庫 資料庫恢復技術
1.沒錯 又到了資料庫的考試,我需要總結一下資料庫的知識了。2.首先是資料庫的恢復技術。這裡面有乙個很重要的東西,也是關係型資料庫與其他資料庫重大的區別所在。1 事務 事務通俗的來講就是使用者定義的一系列操作,但是這些操作有著十分明顯的特點,就是十分的團結。說的其實這些操作是乙個整體,要麼全做要麼全...
資料庫 資料庫恢復技術
事務執行失敗 邏輯錯誤 系統錯誤。邏輯錯誤 系統內部條件導致事務無法正常執行,例如 非法輸入 找不到資料 運算溢位等 系統錯誤 系統外部條件導致事務無法正常執行,例如 併發事務由於死鎖而強制撤銷事務 恢復 撤銷事務undo 造成系統停止運轉的任何事件,例如 cpu異常,o s異常,dbms異常,拔掉...