June 2001
Intermediate to advanced
688 pages
19h 18m
English
The physical recovery process works as follows: First, find the last checkpoint that completed. Because the system may have crashed while writing a checkpoint, this implies finding the second-to-last checkpoint in the log files. Read forward from this checkpoint, opening any database files for which modifications are found in the log.
Then, read backward from the end of the log. For each commit record encountered, record its transaction ID. For every other data update record, find the transaction ID of the record. If that transaction ID appears in the list of committed transactions, do nothing; if it does not appear in the committed list, call the appropriate recovery routine to undo the operation.
In the case of catastrophic ...