系统崩溃时日志文件记录内容如下:T0STARTT0 A 0 10T0COMMITT1START T1 B 0 10T2START T2 C 0 10T2 C 10 20Checkpoint T1 T2T3STARTT3 A 10 20T3 D 0 10T3COMMIT试写出系统重启后恢复处理的全过程并指明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。
原文地址: https://www.cveoy.top/t/topic/e0iq 著作权归作者所有。请勿转载和采集!