数据库系统崩溃恢复:示例解析及步骤
系统崩溃时日志文件记录内容如下: <T0,START> <T0, A, 0, 10> <T0,COMMIT> <T1,START> <T1, B, 0, 10> <T2,START> <T2, C, 0, 10> <T2, C, 10, 20> <Checkpoint {T1, T2}> <T3,START> <T3, A, 10, 20> <T3, D, 0, 10> <T3,COMMIT>
试写出系统重启后恢复处理的全过程,并指明A, B, C, D恢复后的值分别是多少?
系统重启后,根据最近的checkpoint,只需要恢复T1和T2的事务,因为T3在checkpoint之后启动,未提交。
-
T1恢复过程: <T1,START>,A=0,B=10 <T1,COMMIT>,A=0,B=10
-
T2恢复过程: <T2,START>,A=0,B=10,C=20 <T2,COMMIT>,A=0,B=10,C=20
-
T3恢复过程: <T3,START>,A=10,B=10,C=20,D=10 <T3,COMMIT>,A=10,B=10,C=20,D=10
最终,A=10,B=10,C=20,D=10。
原文地址: http://www.cveoy.top/t/topic/n0Rg 著作权归作者所有。请勿转载和采集!