- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一次封锁法 一次封锁法遵守两段锁协议; 一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。 解决了死锁问题。 但是两段锁协议并不要求事务必须一次将所有要使用的数据全部加锁,因此遵守两段锁协议的事务可能发生死锁。 * * 两阶段封锁协议存在的问题 问题二:不能避免读脏数据(T2读取了T1的未提交更新结果) T1 R(A) A=A-2 W(A) ROLLBACK T2 R(A) A=A-3 W(A) T7 R(A) A=A-4 W(A) 图10-16 由于读脏数据引起的级联回滚 导致的后果是“级联回滚” ! UL(A) 两阶段封锁协议变体 对于级联回滚可以通过将两阶段封锁修改为严格两阶段封锁协议加以避免。 严格两阶段封锁协议: 事务持有的所有排它锁必须在事务提交后方可释放。 保证了未提交事务所写的任何数据在该事务提交之前均以排它方式加锁,防止了其他事务读取这些数据。 强两阶段封锁协议: 事务提交之前不得释放任何锁(包括共享锁和排它锁)。 * * 3.1 故障分类、特征及恢复策略 事务故障 事务在运行过程中由于种种原因,如输入数据的错误、运算溢出、违反了某些完整性限制、某些应用程序的错误以及并发事务发生死锁等,使事务未运行至正常终止点就夭折了,这种情况称为事务故障。 特征:系统的软件和硬件都能正常运行,内存和磁盘上的数据都未丢失和破坏。 恢复策略:强行回滚(ROLLBACK)夭折事务,清除其对数据库的所有修改,使得该事务好象根本没有启动过一样,称这类恢复操作称为事务撤销(UNDO)。 故障分类、特征及恢复策略 系统故障 该类故障是指系统在运行过程中,由于某种原因,如操作系统或DBMS代码错误、操作员操作失误、特定类型的硬件错误(如CPU故障)、突然停电等造成系统停止运行,致使所有正在运行的事务都以非正常方式终止。 特征:数据库缓冲区的信息全部丢失,但存储在外部存储设备上的数据未被破坏。 恢复策略 UNDO所有未完成事务。 重做(REDO)所有已提交的事务。 故障分类、特征及恢复策略 介质故障 该类故障是指系统在运行过程中,由于某种硬件故障,如磁盘损坏、磁头碰撞,或操作系统的某种潜在错误,瞬时强磁场干扰等,致使存储在外存中的数据部分丢失或全部丢失。这类故障比前两类故障的可能性小得多,但破坏了磁盘上的数据,危害性最大。 特征:存储在外部存储设备上的数据被破坏。 恢复策略:需要装入发生介质故障前某个时刻的数据库数据副本,并重做(REDO)自备份相应副本数据库之后的所有成功事务,将这些事务已提交的更新结果重新反映到数据库中去。 故障分类、特征及恢复策略 其它故障 黑客入侵、病毒、恶意流氓软件等引起的事务异常结束、篡改数据等不一致性。 特征:恶意破环。 恢复策略:通过数据库的安全机制、审计机制等实现对数据的授权访问和保护 。 小结 对于不同类型的故障在恢复时应做不同的恢复处理。 恢复的本质是利用存储的冗余数据(如日志、影子、备份副本等)来重建数据库中已经被破坏或已经不正确的那部分数据。 DBMS中的恢复管理模块由两部分组成: 正常事务处理过程中:系统需记录冗余的恢复信息,以保证故障发生后有足够的信息进行数据库恢复; 故障发生后:利用冗余信息进行UNDO或REDO等操作,将数据库恢复到一致性状态。 3.2 事务访问数据方式 事务通过三个地址空间同数据库进行交互: 操作原语 数据元素A在不同地址空间之间移动包括: INPUT(X):将包含数据库记录A的磁盘块X拷贝到数据缓冲区。 READ(A):将数据记录A从缓冲区拷贝到事务工作区。如果包含A的磁盘块X不在缓冲区中,则首先执行INPUT(X)操作。 WRITE(A):将A的修改值从事务工作区拷贝到缓冲区X块中以替换A的值。如果此时X块不在内存缓冲区中,则应先执行INPUT(X)后再替换。 OUTPUT(X):将更新后的X块写回磁盘。 * * 事务访问数据方式 更新磁盘块X中的数据记录A和读磁盘块Y的数据记录B的原语操作过程如图10-17所示。 注意:READ和WRITE由事务发出,而INPUT和OUTPUT由缓冲区管理器发出。 事务访问数据方式 [例10.8] 考虑机票订票服务,假设某售票点某航班的已售出票数A为0,且该航班剩余票数B为10,则出售2张机票的事务T的逻辑步骤为:A=A+2; B=B-2。数据库的一致性约束为:A+B=10。假设包含A和B的记录开始分别位于在X和Y磁盘块中,且都不在数据缓冲区中。T的一个可能操作序列为: (1) INPUT(X); (2) READ(A); (3) A=A+2; (4) WRITE(A); (5) INPUT(Y); (6) READ(B); (7) B=B-2
您可能关注的文档
- 人教版小学四年级语文上册《蟋蟀的住宅》探讨.ppt
- 人教版小学四年级数学上册《速度、时间、路程之间的关系》探讨.ppt
- 3吴晓-公文写作程序.ppt
- 设计模式01-面向对象七大原则探讨.ppt
- 人教版小学数学一年级上册第八章《认识钟表》探讨.ppt
- 人教版小学三年级语文下册《语文园地二》探讨.ppt
- 设计—建筑制图基本知识探讨.ppt
- 数据挖掘技术及应用(最全面理论+最佳实践)探讨.ppt
- 人教版小学三年级语文上册《语文园地一》探讨.ppt
- 数据挖掘的10大算法探讨.ppt
- 2025年泰安市农业科学院公开招聘博士研究生笔试高频难、易错点备考题库参考答案详解.docx
- 2025年浙江嘉兴大学附属医院(嘉兴市第一医院)招聘90人(一)笔试备考题库及参考答案详解.docx
- 2025年河北省文物考古研究院选聘笔试高频难、易错点备考题库附答案详解.docx
- 2025年河南省科学院招聘686名高层次人才笔试高频难、易错点备考题库及答案详解一套.docx
- 2025年海南省海洋经济发展与资源保护研究院考核招聘高层次人才笔试高频难、易错点备考题库及参考答案详.docx
- 2025年河南省地震局事业单位招聘笔试备考题库及参考答案详解1套.docx
- 2025年河南省农业科学院招聘高层次人才88人笔试高频难、易错点备考题库及参考答案详解1套.docx
- 2025年浙江绍兴诸暨市人民法院编外聘用人员招聘7人笔试高频难、易错点备考题库附答案详解.docx
- 2025年泸州市江阳区事业单位考核招聘高层次人才的笔试备考题库及答案详解1套.docx
- 2025年浙江省质量科学研究院招聘编外29人笔试备考题库及参考答案详解.docx
文档评论(0)