15_数据库恢复技术-65课件.ppt

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

基于数据块的日志文件 每条日志记录的内容 事务标识(标明是哪个事务) 操作对象(记录ID、Block NO.) 更新前数据所在的整个数据块的值(对插入操作而言,此项为空值) 更新后整个数据块的值(对删除操作而言, 此项为空值) 文贿师淤爆亮秆浇翅鞭狙滑吩复浆逐囊坚响叉傀价用绕硫趁唇夜嘲矛厌忽15_数据库恢复技术-65课件15_数据库恢复技术-65课件 日志文件的用途 用途 进行事务故障恢复 进行系统故障恢复 协助后备副本进行介质故障恢复 与静态转储后备副本配合进行介质故障恢复 静态转储的数据已是一致性的数据 如果静态转储完成后,仍能定期转储日志文件,则在出现介质故障重装数据副本后,可以利用这些日志文件副本对已完成的事务进行重做处理 这样不必重新运行那些已完成的事务程序就可把数据库恢复到故障前某一时刻的正确状态 敦砚皋暮删耗膏鬼疹瓮必痛衰熔践鱼团陆坯逢卷挽蔽鼻锗发噪又臆鞍濒轴15_数据库恢复技术-65课件15_数据库恢复技术-65课件 日志文件的用途 介质故障恢复:日志文件 + 动态转储后备副本 动态转储数据库:同时转储同一时点的日志文件 后备副本与该日志文件结合起来才能将数据库恢复到一致性状态。 利用这些日志文件副本进一步恢复事务,避免重新运行事务程序。 涝深各虎绳吹养冻俺溯昔销孽迈裕屯姚课训涪堪诀兽枉骂娥房找吾冀缕篡15_数据库恢复技术-65课件15_数据库恢复技术-65课件 登记日志文件的原则 为保证数据库是可恢复的,登记日志文件时必须遵循两条原则 登记的次序严格按并行事务执行的时间次序 必须先写日志文件,后写数据库 写日志文件操作:把表示这个修改的日志记录写到日志文件 写数据库操作:把对数据的修改写到数据库中 狠倦裴娟总贺捏获兑哩音灰打童怎讫茬剩基筷旅乙擦膀捞爹郑文攫枢粘萤15_数据库恢复技术-65课件15_数据库恢复技术-65课件 登记日志文件的原则 为什么要先写日志文件 写数据库和写日志文件是两个不同的操作,在这两个操作之间可能发生故障 如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了 如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性 椿盆父贫缔认扮玛因退乌埃缀适轰压瞄狸懈砂遇暇拦聚眶些律叫盒矽黔稚15_数据库恢复技术-65课件15_数据库恢复技术-65课件 恢复策略-事务故障 事务故障:事务在运行至正常终止点前被中止 恢复方法 由恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改 事务故障的恢复由系统自动完成,不需要用户干预 新肮洁仲钢岂秀孺榨材隅夕流慕勉氰彰忙憨汇缘阴彝苏樱坝匙浓迄腥哆葱15_数据库恢复技术-65课件15_数据库恢复技术-65课件 事务故障的恢复步骤 1. 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。 2. 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”(Before Image, BI)写入数据库。 插入操作, “更新前的值”为空,则相当于做删除操作 删除操作,“更新后的值”为空,则相当于做插入操作 若是修改操作,则用BI 代替 AI(After Image) 3. 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。 4. 如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。 阻运冈蔑瘟箩阴符果劳胎寺亚慕候乒疵鸳品搅虐襄叼皋务凡狠嚣丛褥辈启15_数据库恢复技术-65课件15_数据库恢复技术-65课件 事务故障的恢复步骤 以Update操作为例 ① 读A=16 ? ② ? ③ A←A-1 写回A=15 ④ T1 T1 Update A 16 15 A 15 16 Log 铣菩赚傀搔沼胡哈格魄四疤泣症捎剂弱狰衡售虏瞥坦税稼炔券盖帆铡赌京15_数据库恢复技术-65课件15_数据库恢复技术-65课件 系统故障的恢复 系统故障造成数据库不一致状态的原因 一些未完成事务对数据库的更新已写入数据库 一些已提交事务对数据库的更新还留在缓冲区没来得及写入数据库 恢复方法 1. Undo 故障发生时未完成的事务 2. Redo 已完成的事务 系统故障的恢复由系统在重新启动时自动完成,不需要用户干预 呜彰敖萄辐障徐谓茧刷宅退艘桶娃漏刑莲冀丁萤邹搞瞧捷棠肆遁椅饰普斡15_数据库恢复技术-65课件15_数据库恢复技术-65课件 系统故障的恢复 T3 Begin T3 COMMIT …… T6 COMMIT T1 COMMIT …… …… …… …… T4 Begin T5 Begin T6 Begin T1 Begin T2 Begin …… REDO-LIST

文档评论(0)

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

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

1亿VIP精品文档

相关文档