考虑一个简单的检查点协议和日志中的以下操作集。
(start, T4); (write, T4, y, 2, 3); (start, T1); (commit, T4); (write, T1, z, 5, 7);
(checkpoint);
(start, T2); (write, T2, x, 1, 9); (commit, T2); (start, T3); (write, T3, z, 7, 2);
如果现在发生崩溃并且系统尝试使用撤消和重做操作进行恢复,撤消列表和重做列表的内容是什么
(A)撤销:T3、T1;重做:T2
(B)撤销:T3、T1;重做:T2、T4
(C)撤销:无;重做:T2、T4、T3; T1
(D)撤销:T3、T1、T4;重做:T2答案:(一)
说明:由于 T1 和 T3 尚未提交,因此必须撤消。事务 T2 必须重做,因为它在最新的检查点之后。
这个问题的测验