数据库概论第七章.ppt

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

* 第七章 数据库恢复技术 第一节 事务的概念 一 事 务 1 定 义 用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 bgein trans:事务的开始 commit:事务的提交 rollback:事务的回滚 end trans:事务的结束 2 特 性(ACID) 原子性:一个事务中的操作要么都做,要么都不做 一致性:使数据库从一个一致性状态变到另一个一致性状态 隔离性:一个事务的执行不被其它事务干扰 持续性:一个事务一旦提交,它对数据库的改变应是永久性的,接下来的其它操作或故障不应该对其执行结果有任何影响。 例:事务T将¥50从帐户A转向帐户B read(A) A=A-50 write(A) read(B) B=B+50 write(B) 一致性:要求帐户A,B的金额总和在事务执行后保持不变 原子性:在事务执行过程中任一时候出现一个失败,使得事务T不能正常执行,出现非一致性状态,DBMS必须确保这种非一致性状态不出现在数据库系统中。 持续性:由数据库系统的恢复管理机制负责 1)在事务T结束前,A,B值的修改已写入磁盘 2)在系统失败,数据库系统重启后,T对数据库的修改信息能确保数据库系统重新构造对数据库的修改 隔离性:由数据库系统的并发控制管理机制负责 第二节 数据库恢复概述 第三节 故障的种类 一 事务内部的故障 begin trans 读取帐户甲的余额blance; blance=blance-amount; if(blance0) then{ 打印‘金额不足,不能转帐’; rollback;}else{读取帐户乙的余额blance; blance=blance+amount; 写回帐户乙的余额blance; commit; } 二 系统故障(软故障) 造成系统停止运转的任何事务,使得系统要重新启动。 undo: 所有未完成事务 redo:所有已提交事务 三 介质故障(硬故障) 外存故障 四 计算机病毒 第四节 恢复的实现技术 一 数 据 转 储 DBA定期将整个数据库复制到磁带或另一个磁盘上保存起来的过程。 Ta Tb Tf 转储 运行事务 故障发生点 正常运行 恢复 重装后备副本 重新运行事务 转储状态: --- 静态转储:在系统中无运行事务时进行的转储操作。 --- 动态转储:转储期间允许对数据库进行存取或修改。 转储方式: --- 海量转储:每次转储全部数据库。 --- 增量转储:每次只转储上一次转储后更新过的数据。 二 登记日志文件 1 日志文件的格式和内容 以记录为单位的日志文件 -- 各个事务的开始标志 -- 各个事务的结束标志 -- 各个事务的所有更新操作 事务标志 操作的类型 操作对象 更新前数据的旧值 更新后数据的新值 以数据块为单位的日志文件 --- 事务标志 --- 被更新数据块 2 日志文件的作用 事务故障恢复和系统故障恢复 动态转储中必须建立日志文件。后援副本加上日志文件能有效恢复数据库。 Ta Tb Tf 静态转储 运行事务 故障发生点 正常运行 登记日志文件 介质故障恢复 重装后备副本 重新运行事务 3 登记日志文件 登记的次序严格按并发事务执行的时间次序 必须先写日志文件,后写数据库 第五节 恢复策略 一 事务故障的恢复 反向扫描日志文件,查找该事务的更新操作 对事务的更新操作作逆操作 二 系统故障的恢复 正向扫描日志文件,找出故障发生前已经提交的事务 将已提交事务的标识记入重做队列 同时找出故障发生时尚未完成的事务,将其事务标识记入撤消队列 对撤消队列中的各个事务进行撤消处理(UNDO) 对重做队列中的各个事务进行重做处理(REDO) 三 介质故障的恢复 装入最新的数据库副本 装入相应的日志文件副本,重做已完成的事务 第六节 具有检查点的恢复技术 一 检查点记录的内容 建立检查点时刻所有正在执行的事务清单 这些事务最近一个日志记录的地址 二 重新开始文件内容 各个检查点记录在日志文件中的地址 三 动态维护日志文件的步骤 将当前日志缓冲中的所有日志记录写入磁盘的日志文件 在日志文件中写入一个检查点记录 把当前数据缓冲的所有数据记录写入磁盘的数据库 把检查点记录在日志文件中的地址写入一个重新开始文件 四 恢复步骤 从重新开始文件中找到最后一个检

文档评论(0)

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

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

1亿VIP精品文档

相关文档