恢复值后,延迟数据库修改和立即数据库修改

时间:2018-12-06 22:17:40

标签: database

当发生崩溃时,稳定存储中的日志具有给定顺序的以下记录:

<T1 start>, <T1,A,30,40>, <T2 start>, <T2,B,40,20>, <T1,C,25,35>, <T3 start>, <T1 commit>,
<T2,A,40,60>, <T3,C,35,45>

A部分:立即修改数据库

T1>重做

T2>撤消

T3>撤消

BEFORE CRASH    AFTER RECOVERY
A>60            A>40
B>20            B>40
C>45            C>35

对于崩溃之前,我非常有信心我的答案是正确的。我想知道我恢复后是否正确?如果没有,那为什么呢?

B部分:延迟的数据库修改

T1>重做

T2>不采取行动

T3>无动作

BEFORE CRASH    AFTER RECOVERY
A>40            A>40
B>40            B>40
C>35            C>35

在这方面,我也有信心我的崩溃前值是正确的,但是我怀疑恢复后的值可能是错误的。如果错了,请向我解释为什么错了?

0 个答案:

没有答案