第三章 10数据库恢复技术.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10.4.2 登记日志文件 一、日志文件的内容 1. 什么是日志文件 日志文件(log)是用来记录事务对数据库的更新操作的文件 2. 日志文件的格式 以记录为单位的日志文件 以数据块为单位的日志文件 3. 日志文件内容—以记录为单位的日志文件 各个事务的开始标记(BEGIN TRANSACTION) 各个事务的结束标记(COMMIT或ROLLBACK) 各个事务的所有更新操作 事务标识(标明是哪个事务) 操作类型(插入、删除或修改) 操作对象(记录ID) 更新前数据的旧值(对插入操作而言,此项为空值) 更新后数据的新值(对删除操作而言, 此项为空值) 4. 基于记录的日志文件--每条日志记录的内容 事务标识(标明是哪个事务) 更新前数据所在的整个数据块的值(对插入操作而言,此项为空值) 更新后整个数据块的值(对删除操作而言, 此项为空值) 5. 基于数据块的日志文件--每条日志记录的内容 进行事务故障恢复(必须)、系统故障恢复(必须)和介质故障恢复 动态转存中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库 在静态转存方式中,也可以建立日志文件. 二、日志文件的用途 故障发生点  静态转储 运行事务 ↓ 正常运行 ─┼──────┼──────────┼── Ta    Tb Tf 登记日志文件 └───────────── 重装后备副本 利用日志文件恢复事务 继续运行 介质故障恢复 ─┴────────┴-----─-------┴────── 登记日志文件 └────── 1 登记的次序严格按并行事务执行的时间次序 2 必须先写日志文件,后写数据库 写日志文件操作:把表示这个修改的日志记录写到日志文件 写数据库操作:把对数据的修改写到数据库中 三、登记日志文件的原则 为什么要先写日志文件? 写数据库和写日志文件是两个不同的操作,在这两个操作之间可能发生故障 如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了 如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性 10.5 恢复策略 10.5.1 事务故障的恢复 事务故障:事务在运行至正常终止点前被中止 恢复方法 由恢复子系统利用日志文件撤消, 此事务已对数据库进行的修改 事务故障的恢复由系统自动完成,不需要用户干预 1. 反向扫描文件日志,查找该事务的更新操作。 2. 对该事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。 插入操作, “更新前的值”为空,则相当于做删除操作 删除操作,“更新后的值”为空,则相当于做插入操作 若是修改操作,则用旧值代替 新值 事务故障的恢复步骤: 3. 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。 4. 如此处理下去,直至读到此事务的开始标记,事务故障恢复完成。 新事务开始 故障发生点 正常运行 ─┼─────┼───┼───┼──┼ Tb    A B C Tf 登记日志文件 └───────────── A:修改操作 B:插入操作 系统故障造成数据库不一致状态的原因 一些未完成事务对数据库的更新已写入数据库 一些已提交事务对数据库的更新还留在缓冲区没来得及写入数据库 恢复方法 Undo 故障发生时未完成的事务 Redo 已完成的事务 系统故障的恢复由系统在重新启动时自动完成,不需要用户干预 10.5.2 系统故障的恢

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档