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

安璐-数据库原理(理论)第5章-事务管理.pptVIP

安璐-数据库原理(理论)第5章-事务管理.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.4 小结 本章着重介绍了事务的概念,事务的ACID特性,DBMS为了实现事务特性而采取的相关技术,事务处理对程序员的影响和要求。同学们应重点掌握定义事务的SQL语句、设置隔离性的SQL语句和死锁对事务的影响。 * * 5.4 小结 1. 事务由一系列的SQL语句组成,包含UPDATE、DELETE和INSERT语句的叫做更新事务,只包含SELECT语句的叫做只读事务。在任何情况下,构成事务的语句要么全部执行成功,要么一个也不能执行,这是事务的原子性,是最根本的要求。 2. 程序员要根据项目的具体要求决定把哪些SQL语句定义成一个事务。每个事务的最后一个SQL语句是ABORT或COMMIT,ABORT表示撤销在此之前执行的所有操作的结果,COMMIT表示事务所有操作已经完成,要把这些操作的结果写入数据库。 * * 5.4 小结   3. 恢复技术采用日志文件和数据库副本来保证事务的原子性和持久性。   DBMS把事务对数据库的每个操作形成一个日志记录,日志记录包含了被更新数据对象的原值和新值,按照执行的先后次序形成了事务的日志文件。   数据库管理员定期备份数据库。在出现事务故障、系统故障和介质故障时,由数据库副本和日志文件可以把数据库恢复到最近的一个一致性状态。 * * 5.4 小结 4. 事务的隔离性由并发控制子系统实现。一般的商用DBMS采用二段封锁协议实现并发控制,执行读和写操作之前要分别对数据对象加S锁和X锁,并持有到事务结束再统一解锁。 5. 对只读事务,可以根据情况,通过设置合理的隔离级别来加快其执行速度。 6. SQL语句可能由于违反系统定义的完整性约束而被拒绝执行,也可能由于事务陷入了死锁而被系统撤销,程序员要对每个SQL语句的执行状态进行监控,根据不同的情况采取合理的补偿措施。 * * * * 教师联系信箱:anlu97@163.com 5.2 恢复技术 5.2.3 恢复过程 1.事务故障恢复 事务故障是指事务未运行至正常终止点前被DBMS或用户撤消,这时恢复子系统对此事务做UNDO处理。 具体做法是:反向阅读日志文件,找出该事务的所有更新操作,对每一个更新操作做它的逆操作。 即若记录中是插入操作,则做删除操作。若记录中是删除操作,则做插入操作,若是修改操作,则用修改前的值代替修改后的值。如此处理直至读到此事务的开始标签,事务故障恢复完成。 * * 5.2 恢复技术 5.2.3 恢复过程 2.系统故障恢复 系统故障发生时,造成数据库不一致状态的原因有两个,一是由于一些未完成事务对数据库的更新已写入数据库,二是由于一些已提交事务对数据库的更新还留在缓冲区没来得及写入数据库。 系统故障恢复是在系统重新启动以后进行的。基本的恢复算法分为二步: 1.根据日志文件建立重作队列和撤消队列 2.对UNDO队列中的事务进行UNDO处理,对REDO队列中事务的进行REDO处理。 * * 电脑未正常关机,下次启动时电脑将进行系统故障恢复 5.2 恢复技术 5.2.3 恢复过程 3.介质故障的恢复  在发生介质故障时,磁盘上的物理数据库被破坏,因此,需要重装最后一次备份的数据库备份,但重装副本只能将数据库恢复到转储时的状态。   从那以后的所有更新事务必须重新运行才能恢复到故障时的状态。 * * 你使用过电脑的系统还原功能吗? 5.2 恢复技术 5.2.3 恢复过程   系统在t1时刻停止运行事务,进行数据库转储,在t2时刻转储完毕,得到t2时刻的数据库的一致性副本。   当系统运行到tn时刻发生故障。   系统重新启动后,恢复程序重装数据库后备副本将数据库恢复至t2时刻的状态。   要想将数据库恢复到故障发生前某一时刻的一致状态,必须重新运行自t2时刻至tn时刻的所有更新事务,或通过日志文件将这些事务对数据库重新更新写入数据库。 运行事务 |-----|----────────────────────────────┼ 图5.4 介质故障恢复过程 t1 t2 tn 故障点 转储完毕 转储开始 * * 5.2 恢复技术 5.2.3 恢复过程 因此在发生介质故障时的恢复操作可分为三步: 1.重装转储的数据库副本,使数据库恢复到转储时的一致状态。 2.装入转储后备份的第一个日志文件 (1)读日志文件,找出已提交的事务,按提交次序的先后将其记入REDO队列。 (2)重做REDO队列中每个事务的所有更新操作。 3.装入下一个日志文件重复上一步,直至处理完所有的日志文件,这时数据库恢复至故障前一时刻的一致状态。 * * 第5章 事务管理 5.1 事务的概念 5.2 恢复技术 5.3 并发控制

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档