数据库恢复
被考次数: 16次
被考频率: 高频率
答错率:    44%
知识难度:
考试要求: 掌握     
知识路径:  > 数据库技术  > 事务管理  > 数据库的故障与恢复  > 数据库的备份与恢复


本知识点历年真题试卷分布
>> 试题列表    
 

 
       要使数据库在发生故障后能够恢复,必须建立冗余数据,在故障发生后利用这些冗余数据实施数据库恢复。建立冗余数据常用的技术是数据转储和建立日志文件。在一个数据库系统中,这两种方法一般是同时被采用的。
       故障恢复的两个操作
       有了数据转储和日志文件,就可以在系统发生故障时进行恢复。故障恢复有撤销事务(UNDO)和重做事务(REDO)两个操作。
          撤销事务(UNDO)
          所谓撤销事务是将未完成的事务撤销,使数据库恢复到事务执行前的正确状态。
          撤销事务的过程:反向扫描未完成的事务日志(由后向前扫描),查找事务的更新操作;对该事务的更新操作执行逆操作,用日志文件记录中更新前的值写入数据库,插入的记录从数据库中删除,删除的记录重新插入数据库中;继续反向扫描日志文件,查找该事务的其他更新操作并执行逆操作直至事务开始标志。
          重做事务(REDO)
          所谓重做事务(REDO)是将已经提交的事务重新执行。
          重做事务的过程:从事务的开始标识起,正向扫描日志文件,重新执行日志文件登记的该事务对数据库的所有操作,直至事务结束标识。
       故障恢复策略
       对于不同的故障,采取不同的恢复策略。
          事务故障的恢复
          事务故障是事务在运行至正常终止点(SUMMIT或ROLLBACK)前终止,日志文件只有该事务的开始标识而没有结束标识。对这类故障的恢复是通过撤销(UNDO)产生故障的事务,使数据库恢复到该事务执行前的正确状态来完成的。事务恢复有如下三个步骤:
          步骤1:反向扫描日志文件(即从最后向前扫描日志文件),查找该事务的更新操作。
          步骤2:对事务的更新操作执行逆操作。
          步骤3:继续反向扫描日志文件,查找该事务的其他更新操作,并做同样的处理,直到事务的开始标志。
          注意:事务故障的恢复由系统自动完成,对用户是透明的。
          系统故障的恢复
          系统故障会使数据库的数据不一致,原因有两个:一是未完成的事务对数据库的更新可能已写入数据库;二是已提交的事务对数据库的更新可能还在缓冲区中没来得及写入数据库。因此恢复操作就是要撤销故障发生时未完成的事务,重做(REDO)已提交的事务。
          注意:系统故障的恢复是在系统重启之后自动执行的。
          介质故障的恢复
          介质故障时数据库遭到破坏,需要重装数据库,装载故障前最近一次的备份和故障前的日志文件副本,再按照系统故障的恢复过程执行撤销和重做来恢复。
          注意:介质故障要有系统管理员(DBA)的参与,装入数据库的副本和日记文件的副本,再由系统执行撤销和重做操作。
 

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

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