一.故障类型
事务故障的恢复。事务故障是指事务未运行至正常终止点前被撤销,这时恢复的系统应对此事务做撤销处理。事务故障的恢复是由系统自动完成的,不需要用户干预,步骤如下:
- 反向扫描文件日志,查找该事务的更新操作。
- 对该事务的更新操作执行逆操作。
- 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。
- 如此处理下去,直至读到此事务的开始标记,事务故障恢复完成。
具有检查点的恢复技术。检查点记录的内容可包括:
这些事务最近一个日志记录的地址。采用检查点的恢复步骤如下:
- 从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。
- 由该检查点记录得到检查点建立时所有正在执行的事务清单队列A。建立重做队列R和撤销队列U,把 A 队列放入 U 队列中,R 队列为空。
- 从检查点开始正向扫描日志文件,若有新开始的事务 T1,则把 T1 放入 U 队列,若有提交的事务 T2,则把T2从U队列移到R队列,直至日志文件结束。
- 对 U 队列的每个事务执行 Undo 操作,对 R 队列的每个事务执行 Redo 操作。
数据库安全和恢复是数据库系统正常运行的保证。大型数据库管理系统一般都提供了实现安全机制的保证,即由系统提供了相应的功能,但小型的数据库管理系统并非都具有相应功能,因此有时需要人工的辅助措施,用以保证数据库的安全和恢复。
