wxs-10数据库恢复.ppt

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

封面 目录 10.1 事务的基本概念 定义 语句 性质 3.隔离性(Isolation) 事务的执行不受其他事务干扰。 4.持续性 / 永久性(Durability) 事务一旦提交,对DB的改变是永久的。 10.2 数据库恢复概述 数据库恢复—— 10.3 故障的种类 事务故障 系统故障 介质故障 计算机病毒 故障产生的影响: 恢复的基本原理: 冗余 10.4 恢复的实现技术 数据转储(基本技术) 登录日志文件 三、种类 转储方法分类 10.4.2 登记日志文件(Logging) 以数据块为单位的日志文件,日志记录(log record)的内容: 事务标识 更新前数据块 更新后数据块 10.5 恢复策略 事务故障的恢复 系统故障(软故障)的恢复 介质故障(硬故障)的恢复 3. 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。 4. 直至事务的开始标记,事务故障恢复就完成。 10.5.2 系统故障的恢复 对撤销(UNDO)队列中的各个事务进行撤销(UNDO)处理。 反向扫描日志文件,对事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入DB。 对重做(REDO)队列中的各个事务进行重做(REDO)处理。 正向扫描日志文件,对事务的更新操作重新执行。即将日志记录中“更新后的值”写入DB。 10.5.3 介质故障的恢复 10.6 具有检查点的恢复技术 问题的提出 具有检查点的恢复技术 检查点记录和重新开始文件 动态维护日志文件的方法和步骤 使用检查点方法恢复的步骤 一、问题的提出 二、具有检查点的恢复技术 三、检查点记录和重新开始文件 四、动态维护日志文件的方法和步骤 五、使用检查点方法恢复的步骤 图10.4 恢复子系统采取的不同策略 结论 检查点前结束的事务都是正常结束的,在进行恢复处理时,没有必要对事务执行REDO操作; 当DB需要恢复时,只有那些在检查点后面的事务需要恢复; 使用检查点方法可以改善恢复效率。 【总结】 故障的种类 恢复的技术 恢复策略 三、作用 1.事务故障恢复和系统故障恢复必须用日志文件。 ∵事务故障和系统故障只影响事务的正常执行,不破坏数据库。 2.在动态转储方式中必须建立日志文件,后备副本和日志文件综合起来才能有效地恢复DB。 3.在静态转储方式中也可以建立日志文件。 当DB遭到破坏后, (1)重装后备副本 ? DB恢复到转储时的状态。 (2)利用日志文件,把已完成的事务重做(REDO),对未完成的事务撤销(UNDO)?DB恢复到 故障发生前某一时刻的正确状态。 而不用重新运行转储后的所有更新事务?DB恢复到故障发生时的状态。 Ta Tb t 正常 运行 Tf 静态转储 运行事务 故障发生点 恢复 重装 后备副本 利用日志文件 恢复事务 t 图10.2 利用日志文件恢复 登记日志文件 继续运行 登记日志文件 四、登记日志文件(Logging) 登记日志文件的原则 1. 登记的次序严格按并发事务执行的时间次序。 必须先写日志文件,后写数据库。 1.先写DB ,后写日志文件 t 写DB 故障发生 登记日志文件 结果:DB中的数据已被修改,然而修改却无法恢复。 ∵未登记日志文件? DB中的数据不正确 举例: 2.先写日志文件,后写DB t 写DB 故障发生 登记日志文件 为什么要先写日志文件 写数据库和写日志文件是两个不同的操作 如图所示,在这两个操作之间可能发生故障 如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了 如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性 注意:针对不同的故障,有不同的恢复策略和方法。 10.5.1 事务故障的恢复 一、方法 利用日志文件撤销(UNDO)此事务已对DB的修改。 二、步骤 1. 反向扫描日志文件,查找事务的更新操作(插入、删除、修改)。 对事务的更新操作执行逆操作。 插入操作,则做删除操作; 删除操作,则做插入操作; 修改操作,则用修改前值代替修改后值。 三、完成 DBMS自动完成 一、方法 利用日志文件撤销(UNDO)故障发生时未完成的事务,重做(REDO)已完成的事务。 二、步骤 1. 正向扫描日志文件,找出故障发生前已提交(有COMMIT记录)的事务,将其标识记入重做(REDO) 队列。同时找出故障发生时未完成(无COMMIT记录)的事务,将其标识记入撤销(UNDO)队列。 三、完成 DBMS在系统重启时自动完成 一、

文档评论(0)

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

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

1亿VIP精品文档

相关文档