问题 问答题 论述题

试述使用检查点方法进行恢复的步骤。

答案

参考答案:

(1)从重新开始文件(见第11题的图)中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。

(2)由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE一LIST。

这里建立两个事务队列:

1)UNDO一LIST:需要执行undo操作的事务集合;

2)REDO一LIST:需要执行redo操作的事务集合。

把ACTIVE一LIST暂时放入UNDO一LIST队列,REDO队列暂为空。

3)从检查点开始正向扫描日志文件:

①如有新开始的事务T*,把T*暂时放入uNDO一LlsT队列;

②如有提交的事务毛,把毛从UNDO一LIST队列移到REDO一LIST队列,直到日志文件结束;

4)对UNDO一LIST中的每个事务执行UNDO操作,对REDO一LIST中的每个事务执行REDO操作。

单项选择题
问答题 简答题