数据恢复
考试要求: 掌握     
知识路径:  > 计算机软件与网络基础知识  > 数据库系统  > 数据库管理系统的类型、结构和性能评价  > 数据库的控制功能  > 备份与恢复技术


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

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有