网站大量收购闲置独家精品文档,联系QQ:2885784924

第七章 数据库系统的恢复和并发操纵技巧[教学].ppt

第七章 数据库系统的恢复和并发操纵技巧[教学].ppt

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

事务:是一个不可分割的操作序列,该操作序列要么全做,要么全不做。 强调:事务和程序是两个概念。 一个程序中可以包含多个事务。 隐式控制:由DBMS按缺省规定自动划分。 显式控制: BEGIN TRANSACTION [事务开始] COMMIT [事务提交,重新改写数据库] ROLLBACK [事务提交,发生错误撤消] BEGIN TRANSACTION DELETE FROM S WHERE S#=‘10002’ DELETE FROM SC WHERE S#=‘10002’ ROLLBACK 1、原子性(Atomicity) 事务是不可分割的工作单位 2、一致性(Consistency) 事务提交后,数据库从一个一致性状态变到另一个一致性状态。 3、隔离性(Isolation) 在事务完成之前,它对数据库产生的结果不能被其它事务引用。 4、持续性(Durability) 一旦事务执行成功(提交),其对数据库产生的效果永久有效。 数据库的恢复: 把数据库从错误状态恢复到某一已知的正确状态。 1.事务内部故障 可能造成事务执行失败 预期故障(逻辑错误): 通过在程序中加判断条件来实现 非预期的故障(系统错误): 如由于死锁而被迫撤销的事务等 BEGIN TRANSACTION READ(sal) FROM table1; sal = sal – amout; IF (sal 0) THEN {PRINT “Not enough money!”; ROLLBACK;} ELSE {WRITE(sal); READ(sum) FROM table2; sum = sum + amout; WRITE(sum); COMMIT;} 2.系统故障 造成系统停止运转的任何事件(需要系统重新启动) 原因:硬件错误、操作系统故障、突然停电等。 特点:故障影响正在运行的所有事务,但不破坏数据库。可能会造成数据库中数据的不一致性。其原因: 故障发生时,尚未完成的事务的结果可能已送入到物理数据库。 故障发生时,有些已完成的事务所做的数据更改还在缓冲区中,尚未写到物理数据库中。 3.介质故障 是指存储数据库的磁盘发生故障。 原因:可能是磁盘损坏、磁头碰撞、瞬时强磁场干扰等。 特点:使数据库受到破环。虽然可能性小,但破坏性最大。 两个关键问题: 1 如何建立冗余数据 2 如何利用这些冗余数据实施数据库恢复 1、数据转储 转储:定期将DB复制到其它外存保存(副本) 1、转储类型 静态转储:在系统空闲的时候进行,转储期间不允许对数据库进行操作。 优点:简单、保证副本和数据库数据的一致性。 缺点:需等待。 2、转储方式 海量转储:每次转储数据库中的全部数据 增量转储:每次转储上一次转储后更新过的数据 事务标识(标明是哪个事务) 操作类型及对象(插入、删除、修改,记录内部标识) 更新前后的值 常用格式:Ti,start, , , Ti,update,sno,oldval,newval Ti,commit, , , Ti,rollback, , , 5. 基于数据块的日志文件 每条日志记录的内容 事务标识(标明是那个事务) 操作对象(记录ID、Block NO.) 更新前数据所在的整个数据块的值(对插入操作而言,此项为空值) 更新后整个数据块的值(对删除操作而言, 此项为空值) 二、日志文件的用途 1.用途 进行事务故障恢复 进行系统故障恢复 协助后备副本进行介质故障恢复 三、登记日志文件的原则 为保证数据库是可恢复的,登记日志文件时必须遵循两条原则 登记的次序严格按并行事务执行的时间次序 必须先写日志文件,后写数据库 写日志文件操作:把表示这个修改的日志记录 写到日志文件 写数据库操作:把对数据的修改写到数据库中 3、数据库镜像:自动将数据库中的全部数据或关键数据复制到另外一张盘上。 1、事务故障的恢复 恢复策略:反向扫描日志文件,对该事务的更新操作执行逆操作(即将日志中更新前的数据写回到数据库中),直至事务的开始标志。 2、系统故障的恢复 恢复策略:撤销故障发生时未完成的事务,重做

文档评论(0)

138****7331 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档