十章数据库恢复技术.pptx

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

第1页数据库系统原理第十章数据库恢复技术

第2/21页10.1事务事务是用户定义的一组数据库操作,这组操作要么都做,要么都不做,不可分割。事务的两种结束方式:提交事务:commitwork或commit,表示事务正常结束,事务对数据库的更新将真正写到物理数据库中;回滚事务:rollbackwork或rollback,表示事务异常中止,事务对数据库的更新全部撤销,一切重新回到事务开始时候的状态。但是,事务更新数据库的过程并非原子的:修改内存(缓冲区)中的数据页将内存中被修改的数据页写进外存(统一调度)同一个事务可能执行多次更新操作问题:如果DBMS运行过程当中发生故障怎么办?

第3/21页数据恢复的目标和对应的操作1.故障发生时尚未提交的事务对数据库产生的影响应该消除事务撤销(UNDO):发生故障时,一些尚未完成的事务的结果可能已送入物理数据库,为保证数据一致性,需要清除这些事务对数据库的所有修改。(保证事务的原子性)2.故障发生时已经提交的事务对数据库产生的影响应该恢复事务重做(REDO):发生故障时,有些已完成事务提交的结果可能还有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理数据库中,系统故障使得这些事务对数据库的修改部分或全部丢失,这也会使数据库处于不一致状态,因此应将这些事务已提交的结果重新写入数据库。(保证事务的原子性和持久性)

第4/21页10.2故障分类1.事务内部故障逻辑错误:事务由于某些内部条件无法继续正常执行。如:非法输入、找不到数据、溢出等系统错误:系统进入一种不良状态,使当前事务无法继续正常执行。如:死锁 特点:夭折事务对数据库的部分修改可能已写入数据库,数据库处于不一致状态DBMS仍在正常运行

第5/21页2.系统故障造成系统停止运转的任何事件,使得系统要重新启动。硬件的故障(CPU等);软件故障(DBMS,OS,APS);操作失误;停掉电。特点:内存数据丢失;外存数据不受影响;?一些尚未完成事务的结果可能已送入DB;已完成事务的结果可能部分还未送入DB;DB处于不正确或不一致状态;DBMS不能正常运行。

第6/21页3.介质故障 外存发生故障,导致存储其中的数据、或数据库本身、或DBMS软件处于不正常状态。 分类:磁盘损坏磁头碰撞强磁场干扰等 特点:数据库遭到破坏,正存取数据的事务受到影响可能性小破坏性最大

第7/21页10.3数据恢复技术数据恢复技术的原理:利用冗余,重建数据库,使其达到一致的状态。建立数据的冗余数据转存登录日志文件多数据库分别存储

第8/21页10.3.1数据转储(数据备份)DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。1.转储方式1)静态转储——DBS中无事务运行时进行转储。特征:转储期间不对数据库进行任何操作。优点:简单。缺点:要求暂停一切事务运行,降低数据库可用性。2)动态转储——转储与事务并发执行。特征:转储期间可对DB进行存取与修改操作。优点:不影响事务运行。缺点:不能保证获得一致性付本。

第9/21页2.备份策略1)海量备份方法:定期或不定期将DB全部数据转储。优点:简单。缺点:重复备份,备份量大。2)增量备份(incrementalclumping)方法:每次备份上次备份后更新过的数据。优点:备份量小。缺点:恢复过程较复杂。

第10/21页10.3.2日志(logging)问题:假设事务T将数据A的值修改成了20,那么当T需要被UNDO时,系统怎么知道应该将A恢复成什么值?1.日志概念记录事务对数据库的更新操作的文件称之为日志文件。2.日志文件内容1)事务开始标记(一个日志记录);2)事务结束标记(一个日志记录);3)每个事务的所有更新操作(每个操作一个日志记录)。3.日志记录内容1)事务标识2)操作类型3)操作对象4)更新前数据旧值5)更新后数据新值

第11/21页数据库事务及其日志文件示例OperationLogfileBEGINT1(T1Begin)R1(A,50)W1(A,20)(T1,W,A,50,20)BEGINT2(T2Begin)R2(C,100)W2(C,50)(T2,W,C,100,50)CommitT2(T2Commit)

第12/2

文档评论(0)

183****7931 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档