|
知识路径: > 计算机软件与网络基础知识 > 数据库系统 > 数据库管理系统的类型、结构和性能评价 > 数据库的控制功能 > 备份与恢复技术 >
|
相关知识点:3个
|
|
|
|
把数据库从错误状态恢复到某一个已知的正确状态的功能,称为数据库的恢复。数据恢复的基本原理就是冗余,建立冗余的方法有数据备份和登录日志文件等。可根据故障的不同类型,采用不同的恢复策略。
|
|
|
|
事务故障的恢复是由系统自动完成的,对用户是透明的(不需要DBA的参与)。其步骤如下:
|
|
|
|
|
③继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。
|
|
|
④如此处理下去,直至读到此事务的开始标记,事务故障恢复完成。
|
|
|
|
系统故障的恢复在系统重新启动时自动完成,不需要用户干预。其步骤如下:
|
|
|
①正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入重做(Redo)队列。同时找出故障发生时尚未完成的事务,将其事务标识记入撤销(Undo)队列。
|
|
|
②对撤销队列中的各个事务进行撤销处理:反向扫描日志文件,对每个Undo事务的更新操作执行逆操作。
|
|
|
③对重做队列中的各个事务进行重做处理:正向扫描日志文件,对每个Redo事务重新执行日志文件登记的操作。
|
|
|
|
|
①装入最新的数据库后备副本,使数据库恢复到最近一次备份时的一致性状态。
|
|
|
②从故障点开始反向扫描日志文件,找出已提交事务标识并记入Redo队列。
|
|
|
③从起始点开始正向扫描日志文件,根据Redo队列中的记录,重做已完成的任务,将数据库恢复至故障前某一时刻的一致状态。
|
|
|
|
检查点记录的内容可包括建立检查点时刻所有正在执行的事务清单,以及这些事务最近一个日志记录的地址。采用检查点的恢复步骤如下:
|
|
|
①从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。
|
|
|
②由该检查点记录得到检查点建立时所有正在执行的事务清单队列(A)。
|
|
|
③建立重做队列(R)和撤销队列(U),把A队列放入U队列中,R队列为空。
|
|
|
④从检查点开始正向扫描日志文件,若有新开始的事务T1,则把T1放入U队列;若有提交的事务T2,则把T2从U队列移到R队列;直至日志文件结束。
|
|
|
⑤对U队列的每个事务执行Undo操作,对R队列的每个事务执行Redo操作。
|
|
|