After a system\'s crash, the redo-log using nonquiescent checkpointing contains
ID: 3759231 • Letter: A
Question
After a system's crash, the redo-log using nonquiescent checkpointing contains the following data.
<START T1>
<T1, A, 10>
<START T2>
<T2, B, 5>
<T1, C, 7>
<START T3>
<T3, D, 12>
<COMMIT T1>
<START CKPT ????>
<START T4>
<T2, E, 5>
<COMMIT T2>
<T3, F, 1>
<T4, G, 15>
<END CKPT>
<COMMIT T3>
<START T5>
<T5, H, 3>
<START CKPT ????>
<COMMIT T5>
CRASH !!!
a) What are the correct values of the two <START CKPT ????> records? You have to provide two correct values for the two ????s.
b) Indicate and explain what fragment of the log the recovery manager needs to read.
c) Assuming that the two <START CKPT ????> records are correctly stored in the log, according to your answer above, show which elements are recovered by the redo recovery manager and compute their values after recovery.
Explanation / Answer
First will be
<START CKPT (T2,T3)>
Second will be
<START CKPT (T4,T5)>
b)
As visible from the crash log the second START CKTP does not have any END in the crash log.
There is no associated END CKPT for the second START CKTP therefore we cannot be sure about the committed transactions prior
to the start of this checkpoint. The changes may/may not be written to the disk.
Thus, we must search for the previous checkpoint. In the previous START CKPT, T2 and T3
were the two active transactions. Both transactions committed and must thus be redone. T2
was the first one to start. The recovery manager must thus read the log record starting from <
START T2 > and must read until the end of the log file.
c)
We must redo all the transactions which have been started and committed. T2 and T3 were active during the first START CKPT and were committed. In the second START CKPT only T5 was committed. So we need to restore T2, T3 and T5.
There fore we need to recover B,D,E,F and H
B=5,D=12,E=5,F=1,H=3
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.