考虑一个简单的检查点协议和日志中的以下一组操作。
(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答案: (A)
说明:由于尚未提交T1和T3,因此必须撤消它们。必须重做事务T2,因为它在最新的检查点之后。
这个问题的测验