The following is a sequence of redo logging records written by two transactions T and U: < START T >; < T, A, 10 >; < START U >; < U,B, 20 >; < T, C, 30 >; < U, D, 40 >; < COMMIT U >; < T, E, 50 >; < COMMIT T >. Describe the actions of the recovery manager, including changes to both disk and the log, if there is a crash and the last log record to appear on the disk is 1. < START U > 2. < T, E, 50 > 3. < COMMIT T > Solution For undo/redo logging, the <END CKPT> can be written anywhere after the <START CKPT>. The <END CKPT> record indicates that all the “dirtyâ€, meaning changed in the buffer but not written to the disk, transactions that have been committed before the start of the checkpoint are written to the disk. This action is independent of how the database elements are saved to the disk. Therefore, it can appear anywhere after <START CKPT>. ii) If the crash occurs before the record <END CKPT> is written, we have to go back as far as the start of the previous <START CKPT>. Since there are no other checkpoints in the log file, we have to examine all the records of the log file up to <START S>. If the crash occurs after <END CKPT>, we know that all the transactions that have been committed prior to the start of the checkpoint have been written to the disk. So the transaction for S and U are complete and written to the disk. Therefore, we need only to examine the active transactions at the start of the checkpoint. Since there are two active transactions T and V, we need to look only as far back as <START T> because T has the earliest start point of the three. .