- 1、本文档共126页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章节数据库保护
* 演示:设置SQLServer的身份验证模式 * 1、 活锁 由于多个事务都申请封锁了相同的数据对象,造成长期等待的现象。 1)产生活锁的原因 9.3.4 活锁和死锁 2)如何避免活锁 采用先来先服务的策略: 当多个事务请求封锁同一数据对象时 按请求封锁的先后次序对这些事务排队 该数据对象上的锁一旦释放,首先批准申请队列中第一个事务获得锁。 9.3.4 活锁和死锁 2、 死锁 T1 T2 Xlock R1 . . . Xlock R2 等待 等待 等待 . . . Xlock R2 . . Xlock R1 等待 等待 . 两个或多个事务都已封锁了一些数据对象,然后又都请求对已为其他事务封锁的数据对象加锁,从而出现死等待。 1)产生死锁的原因 9.3.4 活锁和死锁 2)死锁问题解决方法 预防死锁:破坏产生死锁的条件 一次封锁法 顺序封锁法 死锁的诊断与解除 允许死锁发生 解除死锁 由DBMS的并发控制子系统定期检测系统中是否存在死锁 一旦检测到死锁,就要设法解除 9.3.4 活锁和死锁 1)预防死锁 一次封锁法 要求每个事务必须一次将所有要使用的数据全部加锁 一次封锁法存在的问题:降低并发度 扩大封锁范围 将以后要用到的全部数据加锁,势必扩大了封锁的范围,从而降低了系统的并发度 难于事先精确确定封锁对象 数据库中数据是不断变化的,所以很难事先精确地确定每个事务所要封锁的数据对象 解决方法:将事务在执行过程中可能要封锁的数据对象全部加锁,这就进一步降低了并发度。 9.3.4 活锁和死锁 顺序封锁法 顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按此顺序实行封锁。 顺序封锁法存在的问题 维护成本高 数据库系统中可封锁的数据对象极其众多,且随数据的插入、删除等操作而不断地变化,要维护这样极多而且变化的资源的封锁顺序非常困难,成本很高 难于实现 事务的封锁请求须随着事务的执行而动态地决定,很难事先确定每一个事务要封锁哪些对象,很难按规定的顺序去施加封锁。 9.3.4 活锁和死锁 2) 死锁的诊断与解除 允许死锁发生 解除死锁 由DBMS的并发控制子系统定期检测系统中是否存在死锁 一旦检测到死锁,就要设法解除 9.3.4 活锁和死锁 (1)检测死锁:超时法 如果一个事务的等待时间超过了规定的时限,就认为发生了死锁 优点:实现简单 缺点 有可能误判死锁 时限若设置得太长,死锁发生后不能及时发现 9.3.4 活锁和死锁 选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有的锁,使其它事务能继续运行下去。 (2)解除死锁 9.3.4 活锁和死锁 1、什么样的并发操作调度是正确的 计算机系统对并行事务中并行操作的调度是的随机的,而不同的调度可能会产生不同的结果。 将所有事务串行起来的调度策略一定是正确的调度策略。 如果一个事务运行过程中没有其他事务在同时运行,也就是说它没有受到其他事务的干扰,那么就可以认为该事务的运行结果是正常的或者预想的 以不同的顺序串行执行事务也有可能会产生不同的结果,但由于不会将数据库置于不一致状态,所以可以认为是正确 9.3.5 并发调度的可串行性 几个事务的并行执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同。这种并行调度策略称为可串行化(Serializable)的调度。 可串行性是并行事务正确性的唯一准则 2、可串行化(Serializable)的调度 9.3.5 并发调度的可串行性 对这两个事务的不同调度策略 串行执行 串行调度策略1 串行调度策略2 交错执行 不可串行化的调度 可串行化的调度 例:现在有两个事务,分别包含下列操作: 事务1:读B;A=B+1;写回A; 事务2:读A;B=A+1;写回B; 假设A的初值为2,B的初值为2。 9.3.5 并发调度的可串行性 Slock B Y=B=2 Unlock B Xlock A A=Y+1 写回A(=3) Unlock A ? ? ? ? ? ? ? Slock A X=A=3 Unlock A Xlock B B=X+1 写回B(=4) Unlock B T1 T2 ? ? ? ? ? ? ? Slock B Y=B=3 Unlock B Xlock A A=Y+1 写回A(=4) Unlock A SlockA X=A=2 Unlock A Xlock B B=X+1 写回B(=3) Unlock B ? ? ? ? ? T1 T2 (a) 串行调度策略1 (b) 串行调度策略2 9.3.5 并发调度的可串行性 (c) 不可串行化的调度 S
您可能关注的文档
- 第三章节数据库应用.ppt
- 第三章节数据分析绘图工具-Origin.ppt
- 第三章节数据链路层协议及差错控制.ppt
- 第三章节操作系统基础.ppt
- 第三章节数据库系统的设计方法.ppt
- 第三章节期货市场的功能和作用.ppt
- 第三章节本章节概率优化总结.ppt
- 第三章节数据库和表的创建.ppt
- 第三章节中外数据库检索方法.ppt
- 第三章节数据库管理.ppt
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- 中医诊所申请可行性报告.pptx VIP
- 凉山州布拖县考试招聘一村一幼辅导员考试试题及答案.pdf VIP
- 统编版语文四年级上册第三单元“连续观察”(主题阅读)含答案.pdf VIP
- 肺保护-胸外科.ppt VIP
- 巡视巡察领导自查报告问题清单.docx VIP
- 环境工程微生物-微生物生态.ppt VIP
- 2024下半年四川凉山州会理市招聘“一村一幼”辅导员56人笔试备考试题及答案解析.docx VIP
- 八年级上册因式分解练习200题及答案.docx VIP
- 2024四川凉山州美姑县教育体育和科学技术局考核招聘“一村一幼”辅导员340人笔试备考试题及答案解析.docx VIP
- 在全市党委系统信息工作会议上讲话党委会议.docx VIP
文档评论(0)