- 1、本文档共93页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库6版讲稿第十二章---事务管理
* 基于锁的协议 所有事务都遵守两阶段协议,并发调度是可串性化的。(充分条件,不是必要条件)。 事务不遵守两阶段协议,并发调度是能是可串性化的,也可能不是。 例:T9: H=F+1, T10: F=G+1, T11: F=H+1 初值: H、F、G 都为0 * 基于锁的协议 T9、T10并发, 串性操作 T9→T10 结果: F=1,G=0 , H=1 。 T10→T9结果: F=1,G=0 ,H=2。 T9、T11并发, 串性操作 T9→T11结果: F=2,G=0 , H=1 。 T11→T9结果:F=1, G=0 , H=2。 * 基于锁的协议 T9、T11遵守两阶段协议的并发调度,是 时间 T9 F、G、H T11 并发控制器 1 0,0,0 2 LOCK-S(F) 3 GANT-S(F,T9) 4 Read(F) 0,0,0 5 TEMP1=F 6 LOCK-X(H) 7 GANT-X(H,T9) 8 LOCK-S(H) 9 H=TEMP1+1 等待 10 WRITE(H) 0,0,1 等待 11 COMMIT 0,0,1 等待 12 UNLOCK-X(H) 等待 * 基于锁的协议 13 GANT-S(H,T11) 14 0,0,1 READ(H) 15 TEMP2=H 16 LOCK-X(F) 17 UNLOCK-S(F) 等待 18 GANT-X(F,T11) 19 F=TEMP2+1 20 2,0,1 WRITE(F) 21 2,0,1 COMMIT 22 UNLOCK-X(F) 23 UNLOCK-S(H) * 基于锁的协议 T9、T10不遵守两阶段协议的并发调度,是 时间 T9 F、G、H T10 并发控制器 1 0,0,0 2 LOCK-S(F) 3 GANT-S(F,T9) 4 Read(F) 0,0,0 5 TEMP1=F 6 UNLOCK-S(F) 7 LOCK-S(G) 8 GANT-S(G,T10) 9 0,0,0 READ(G) 10 TEMP2=G 11 UNLOCK-S(G) * 基于锁的协议 12 LOCK-X(F) 13 GANT-X(F,T10) 14 F=TEMP2+1 15 1,0,0 WRITE(F) 16 1,0,0 COMMIT 17 UNLOCK-X(F) 18 LOCK-X(H) 19 GANT-X(H,T9) 20 H=TEMP1+1 21 WRITE(H) 1,0,1 22 COMMIT 1,0,1 23 UNLOCK-X(H) * 基于锁的协议 T9、T11不遵守两阶段协议的并发调度, 不是 时间 T9 F、G、H T11 并发控制器 1 0,0,0 2 LOCK-S(F) 3 GANT-S(F,T9) 4 Read(F) 0,0,0 5 TEMP1=F 6 UNLOCK-S(F) 7 LOCK-S(H) 8 GANT-S(H,T11) 9 0,0,0 READ(H) 10 TEMP2=H 11 UNLOCK-S(H) * 基于锁的协议 12 LOCK-X(F) 13 GANT-X(F,T11) 14 F=TEMP2+1 15 1,0,0 WRITE(F) 16 1,0,0 COMMIT 17 UNLOCK-X(F) 18 LOCK-X(H) 19 GANT-X(H,T9) 20 H=TEMP1+1 21 WRITE(H) 1,0,1 22 COMMIT 1,0,1 23 UNLOCK-X(H) * 三、死锁与活锁 死锁和活锁 两个或两个以上的事务都在等待其中另一个事务解除封锁,它才能继续执行下去,结果任何一个事务都无法继续执行,这种现象称为死锁(dead lock)。 封锁技术可能产生某个事务可能永远处于等待状态,得不到执行的机会,这种现象称为活锁(live lock)。 * 基于锁的协议 解决活锁的一种简单方法是采用“先来者先执行”的控制策略,也就是简单的排队方式。 DBMS中有一个“死锁测试程序”,每隔一段时间检查并发的事务是否发生死锁,发现死锁,只能撤消某个事务,恢复该事务到初始状态。。 两阶段封锁协议可能发生死锁 * 基于锁的协议 例:T9: H=F+1, T10:F=G+1, T11: F=H+1,初值:0,0,0 T9、T11并发, 串性操作 T9→T11结果: F=2,G=0 H=1 。 T11→T9结果:F=1,G=0 H=2。 T9、T11遵守两阶段协议的并发调度 * 基于锁的协议
您可能关注的文档
- 数据中心机房设计方案(专业).ppt
- 第七章 序列图.ppt
- 第七章 应急操船.ppt
- 第七章 市场与政府.ppt
- 数学实验课程构建与思考.ppt
- 第七章 幼儿心理的发展.ppt
- 数据仓库实例讲解.ppt
- 数据仓库解决方案概述.ppt
- 第七章 外压圆筒与封头的设计.ppt
- 数据图表的设计及制作技巧.ppt
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)