數據庫作業20:第十章:數據庫恢復技術 課後習題

4、考慮下圖所示的日誌記錄:
在這裏插入圖片描述

(1)如果系統故障發生在14之後,說明哪些事物需要重做,哪些事物需要回滾。
T1、T3提交,T2回滾,T4開始了但沒有結束。
重做(REDO):T1,T3;
撤銷(UNDO):T4。

(2)如果系統故障發生在10之後,說明哪些事物需要重做,哪些事物需要回滾。
T1提交。T2回滾,T3開始但沒結束,T4未開始。
重做:T1;
撤銷:T3。

(3)如果系統故障發生在9之後,說明哪些事物需要重做,哪些事物需要回滾。
T1提交,T2、T3開始但未結束,T4未開始。
重做:T1;
撤銷:T2,T3.

(4)如果系統故障發生在7之後,說明哪些事物需要重做,哪些事物需要回滾。
T1提交,T2開始但未結束,T3,T4未開始。
重做:T1
撤銷:T2

5、考慮題4所示的日誌記錄,假設開始時A,B,C的值都是0:
(1)如果系統故障發生在14之後,寫出系統恢復後A,B,C的值;
T1,T3重做,T4撤銷,
A=8,B=7,C=11。

(2)如果系統故障發生在12之後,寫出系統恢復後A,B,C的值;
T1提交,T2回滾,T3,T4開始但未結束,所以T1重做,T3,T4撤銷。
A=10,B=0,C=11。

(3)如果系統故障發生在10之後,寫出系統恢復後A,B,C的值;
重做:T1;撤銷:T3。
A=10,B=0,C=11

(4)如果系統故障發生在9之後,寫出系統恢復後A,B,C的值;
T1提交。T2、T3開始但沒結束,T4未開始。
T1重做,T2,T3撤銷。
A=10,B=0,C=11

(5)如果系統故障發生在7之後,寫出系統恢復後A,B,C的值;
T1重做,T2撤銷
A=10,B=0,C=11

(6)如果系統故障發生在5之後,寫出系統恢復後A,B,C的值;
T1,T2開始但未結束,T3、T4未開始。
T1、T2撤銷。
A=0,B=0,C=0

在系統發生故障之前,提交了的事物需要重做,開始了但沒有結束的需要撤銷,已經回滾的不做操作,相當於沒有進行。

系統恢復後,回滾和撤銷的事物相當於沒有執行,只需要考慮重做的事物就行。

結論:這次作業比較簡單,掌握結論就可以做題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章