数据库 第七章 数据库恢复技术.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库 第七章 数据库恢复技术

事务故障的恢复 事务故障的恢复是由系统自动完成的,对用户是透明的。系统的恢复步骤是: 1. 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。 2. 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库 3. 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。 4. 如此处理下去,直至读到此事务的开始标记。 系统故障的恢复 系统故障的恢复是由系统在重新启动时自动完成的,不需要用户干预。系统的恢复步骤是: 1. 正向扫描日志文件(即从头扫描日志文件),找出在故障发生前已经提交事务,将其事务标识记入重做(REDO)队列。同时找出故障发生时尚未完成的事务,将其事务标识记入撤消队列。 2. 对撤消队列中的各个事务进行撤消(UNDO)处理。方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作。 3. 对重做队列中的各个事务进行重做(REDO)处理。方法是:正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作。 介质故障的恢复 发生介质故障后,磁盘上的物理数据和日志文件被破坏,这是最严重的一种故障,恢复方法是重装数据库,然后重做已完成的事务。 介质故障的恢复需要DBA介入。DBA需要重装最近转储的数据库副本和有关的各日志文件副本,然后执行系统提供的恢复命令即可,具体的恢复操作由DBMS完成。 介质故障的恢复步骤 1. 装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到最近一次转储时的一致性状态。 对于动态转储的数据库副本,还须同时装入转储开始时刻的日志文件副本,利用恢复系统故障的方法(即REDO+UNDO),才能将数据库恢复到一致性状态。 2. 装入相应的日志文件副本(转储结束时刻的日志文件副本),重做已完成的事务。 7.6 具有检查点的恢复技术 利用日志技术进行数据库恢复时,需要检查所有日志记录。存在两个问题: 一是搜索整个日志将耗费大量的时间。 二是需要REDO处理很多已经将操作结果写到数据库中的操作,浪费了大量时间。 具有检查点的恢复技术:在日志文件中增加一类新的记录--检查点记录(checkpoint),增加一个重新开始文件,并让恢复子系统在登录日志文件期间动态地维护日志。 检查点记录的内容 检查点记录的内容包括: 1.建立检查点时刻所有正在执行的事务清单。 2.这些事务最近一个日志记录的地址。 重新开始文件用来记录各个检查点记录在日志文件中的地址。 P287重新开始文件和日志文件结构 动态维护日志文件 动态维护日志文件的方法是,周期性地执行如下操作:建立检查点,保存数据库状态。具体步骤是: 1.将当前日志缓冲中的所有日志记录写入磁盘的日志文件上。 2.在日志文件中写入一个检查点记录。 3. 将当前数据缓冲的所有数据记录写入磁盘的数据库中。 4. 把检查点记录在日志文件中的地址写入一个重新开始文件。 恢复子系统可以定期或不定期地建立检查点保存数据库状态。 具有检查点的日志恢复 用检查点方法进行恢复的步骤 系统使用检查点方法进行恢复的步骤是: 1. 从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。 2.由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST。 建立两个事务队列: UNDO-LIST;REDO-LIST。把ACTIVE-LIST暂时放入UNDO-LIST队列,REDO队列暂为空。 3.从检查点开始正向扫描日志文件 如有新开始的事务Ti,把Ti暂时放入UNDO-LIST队列;如有提交的事务Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列; 4.对UNDO-LIST中的每个事务执行UNDO操作, 对REDO-LIST中的每个事务执行REDO操作 7.7 数据库镜像 介质故障是对系统影响最为严重的一种故障。 许多数据库管理系统提供了数据库镜像(Mirror)功能用于数据库恢复。即根据DBA的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上。 DBMS自动保证镜像数据与主数据的一致性。 一旦出现介质故障,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。 P289图10.5 第七章数据库恢复技术 7.1 事务的基本概念 在讨论数据库恢复技术之前我们先讲解事务的基本概念和事务的性质。 事务(Transaction) 所谓事务是用户定义的一个操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 事务是恢复和并发控制的基本单位。 事务概念 示例 银行转帐:事务T从A帐户过户50¥到B帐户。 T: read(A);

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档