第九章数据库保护解析.ppt

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

?日志与数据库变化过程实例: 日志记录 数据库 T1,START T1,A,950 T1,B,2050 T1,COMMIT A=950 B=2050 T2,START T2,C,600 T2,COMMIT C=600 ?针对推迟更新技术DBMS所采用的恢复机制:(故障发生后,确定需要重做的事务T) REDO(T): FOR日志中每个形如(T,X,V)的记录DO 把数据库中数据项X的值改为V; END FOR 注:REDO操作必须是幂等的,即执行多次和执行一次的效果相同。 故障实例1:设故障恰好发生在T1的WRITE(B)操作信息被写入日志之后。 日志内容如下: T1 T2 T1,start T1,A,950 T1,B,2050 数据库中A、B值未改变。 数据库恢复机制:不采取任何恢复行动。 结果:A=1000,B=2000,C=700。 时 间 故障实例2:设故障恰好发生在T2的WRITE(C)操作之后。 日志内容如下: T1 T2 T1,start T1,A,950 T1,B,2050 T1,commit T2,start T2,C,600 数据库中A、B值已改变,C值未改变。 数据库恢复机制:需要执行REDO(T1)。 结果:A=950,B=2050,C=700。 时 间 故障实例3:设故障恰好发生在T2,commit之后。 日志内容如下: T1 T2 T1,start T1,A,950 T1,B,2050 T1,commit T2,start T2,C,600 T2,commit 数据库中A、B、C值已改变。 数据库恢复机制:需要执行REDO(T1),REDO(T2)。 结果:A=950,B=2050,C=600。 时 间 2、即时更新技术 ?非提交更新:处于活动状态的事务直接在数据库上实施的更新。 ?即时更新协议: (1)在所有T,X,V1,V2型日志记录安全地存储到永恒存储器之前,事务T不能更新数据库。 (2)在所有T,X,V1,V2型日志记录安全地存储到永恒存储器之前,不允许事务T提交。 即时更新技术运行事务T的过程: (1)T开始执行时,记录T,start。 (2)T发出WRITE(X)操作,在日志中记录T,X,V1,V2,再直接在数据库上执行WRITE(X)。 (3)T达部分提交状态时,记录T,commit。 (4)数据库真正的被事务T更新,T进入提交状态。 T1和T2同前实例。 日志中所包含的有关T1、T2的信息如下: T1,START T2,START T1,A,1000,950 T2,C,700,600 T1,B,2000,2050 T2,COMMIT T1,commit ?日志与数据库变化过程实例: 日志记录 数据库 T1,START T1,A,1000,950 A=950 T1,B,2000,2050 B=2050 T1,COMMIT T2,START T2,C,700,600 C=600 T2,COMMIT ?针对即时更新技术DBMS所采用的恢复机制: UNDO(T): FOR日

文档评论(0)

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

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

1亿VIP精品文档

相关文档