数据库原理及应用-电子教案-石玉强 chp7

上传人:E**** 文档编号:89471180 上传时间:2019-05-25 格式:PPT 页数:137 大小:975.01KB
返回 下载 相关 举报
数据库原理及应用-电子教案-石玉强 chp7_第1页
第1页 / 共137页
数据库原理及应用-电子教案-石玉强 chp7_第2页
第2页 / 共137页
数据库原理及应用-电子教案-石玉强 chp7_第3页
第3页 / 共137页
数据库原理及应用-电子教案-石玉强 chp7_第4页
第4页 / 共137页
数据库原理及应用-电子教案-石玉强 chp7_第5页
第5页 / 共137页
点击查看更多>>
资源描述

《数据库原理及应用-电子教案-石玉强 chp7》由会员分享,可在线阅读,更多相关《数据库原理及应用-电子教案-石玉强 chp7(137页珍藏版)》请在金锄头文库上搜索。

1、An Introduction to Database System,数据库原理及应用,Principles and Applications of the Database,第七章 数据库系统的恢复和并发控制技术 仲恺农业工程学院 计算机科学与工程学院,仲恺农业工程学院,计算机科学与工程学院,第七章 数据库系统的恢复和并发控制技术,本章学习目的 把所学的知识和第六章所学习的知识联系起来,在实际的应用中,提升对这些技术的理解和掌握,保证数据的完整性、安全性和一致性,保证数据库系统24小时正确运行,保证数据库系统在遇到故障时能及时恢复正常运行,提高抗故障抗灾难的能力。,仲恺农业工程学院,计算机科

2、学与工程学院,第七章 数据库系统的恢复和并发控制技术,本章要点 事务的基本概念 事务的ACID属性 数据库恢复技术,针对不同的故障类型,掌握恢复数据库的策略和方法 并发操作产生的数据不一致性 并发调度的可串行性概念 封锁协议与数据一致性的关系 死锁的预防和诊断 饥饿的概念及预防,仲恺农业工程学院,计算机科学与工程学院,第七章 数据库系统的恢复和并发控制技术,7.1 事务的基本概念和特性 7.2 数据库恢复 7.3 并发控制 7.4 基于封锁的并发控制技术 7.5 死锁 本章小结,仲恺农业工程学院,计算机科学与工程学院,7.1 事务的基本概念和特性,7.1.1 事务的基本概念 7.1.2 事务的

3、ACID特性,仲恺农业工程学院,计算机科学与工程学院,7.1.1 事务的基本概念,事务定义 一个数据库操作序列 一个不可分割的工作单位 恢复和并发控制的基本单位 在SQL语言中,定义事务的语句有三条: BEGIN TRANSACTION COMMIT ROLLBACK,仲恺农业工程学院,计算机科学与工程学院,7.1 事务的基本概念和特性,7.1.1 事务的基本概念 7.1.2 事务的ACID特性,仲恺农业工程学院,计算机科学与工程学院,7.1.2 事务的ACID特性,事务的ACID特性: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Du

4、rability ),仲恺农业工程学院,计算机科学与工程学院,第七章 数据库系统的恢复和并发控制技术,7.1 事务的基本概念和特性 7.2 数据库恢复 7.3 并发控制 7.4 基于封锁的并发控制技术 7.5 死锁 本章小结,仲恺农业工程学院,计算机科学与工程学院,7.2 数据库恢复,故障是不可避免的 系统故障:计算机软、硬件故障 人为故障:操作员的失误、恶意的破坏等。 数据库的恢复 把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态),仲恺农业工程学院,计算机科学与工程学院,7.2 数据库恢复,7.2.1 故障的种类 7.2.2 数据库恢复技术 7.2.3 恢复策略,仲恺农

5、业工程学院,计算机科学与工程学院,7.2.1 故障的种类,1. 事务内部的故障 2. 系统故障 3. 介质故障,仲恺农业工程学院,计算机科学与工程学院,1. 事务内部故障,事务内部的故障 有的是预期的,在程序中可以预先估计到的,由事务程序加入判断和ROLLBACK语句进行处理。 有的是非预期的,仲恺农业工程学院,计算机科学与工程学院,事务内部的故障(续),事务内部更多的故障是非预期的,是不能由应用程序处理的。 运算溢出 并发事务发生死锁而被选中撤销该事务 违反了某些完整性限制等 以后,事务故障仅指这类非预期的故障 事务故障的恢复:撤消事务(UNDO),仲恺农业工程学院,计算机科学与工程学院,2

6、. 系统故障,系统故障是指引起系统停止运转随之要求重新启动的任何事件。 原因:硬件故障(如CPU故障)、软件故障(如操作系统故障)、突然断电等。 特点: 整个系统的正常运行突然被破坏 所有正在运行的事务都非正常终止 不破坏数据库 内存中数据库缓冲区的信息全部丢失,仲恺农业工程学院,计算机科学与工程学院,系统故障的恢复,发生系统故障时,事务未提交 恢复策略:强行撤消(UNDO)所有未完成事务 发生系统故障时,事务已提交,但缓冲区中的信息尚未完全写回到磁盘上。 恢复策略:重做(REDO)所有已提交的事务,仲恺农业工程学院,计算机科学与工程学院,3. 介质故障,介质故障 称为硬故障,指外存故障 磁盘

7、损坏 磁头碰撞 瞬时强磁场干扰 计算机病毒,仲恺农业工程学院,计算机科学与工程学院,介质故障的恢复,(1)重装转储的备份副本到新的磁盘,使数据库恢复到转储时的一致状态; (2)在日志中找出转储后所有已提交的事务; (3)对这些已提交的事务进行REDO处理,即子系统撤消所有未完成事务,对所有已提交的事务进行重做。,仲恺农业工程学院,计算机科学与工程学院,7.2 数据库恢复,7.2.1 故障的种类 7.2.2 数据库恢复技术 7.2.3 恢复策略,仲恺农业工程学院,计算机科学与工程学院,7.2.2 数据库恢复技术,恢复操作的基本原理:冗余 使用存储在另一个系统中的“冗余”数据以及事先建立起来的日志

8、文件,重新构建数据库中已经被损坏的数据,或者修复已经不正确的数据。 恢复机制涉及的关键问题 如何建立冗余数据 数据转储 登记日志文件 如何利用这些冗余数据实施数据库恢复,仲恺农业工程学院,计算机科学与工程学院,7.2.2 数据库恢复技术,1数据转储技术 2登记日志文件 3使用多副本的恢复技术,仲恺农业工程学院,计算机科学与工程学院,1. 数据转储技术,所谓数据转储,是指由DBA(数据库管理员)定期的将整个数据库中的内容复制到另一个存储设备或另一个磁盘上去,这些转储的副本称为后备副本或后援副本。 如何使用 数据库遭到破坏后可以将后备副本重新装入 重装后备副本只能将数据库恢复到最近转储时的状态,仲

9、恺农业工程学院,计算机科学与工程学院,转储方法,(1)静态转储与动态转储 (2)海量转储与增量转储,仲恺农业工程学院,计算机科学与工程学院,静态转储,在系统中无运行事务时进行的转储操作 转储开始时数据库处于一致性状态 转储期间不允许对数据库的任何存取、修改操作 得到的一定是一个数据一致性的副本 优点:实现简单,可保证副本与数据库的一致性 缺点:降低了数据库的可用性,效率较低 转储必须等待正运行的用户事务结束 新的事务必须等转储结束,仲恺农业工程学院,计算机科学与工程学院,动态转储,转储操作与用户事务并发进行 转储期间允许对数据库进行存取或修改 优点 不用等待正在运行的用户事务结束 不会影响新事

10、务的运行 动态转储的缺点 不能保证副本中的数据正确有效,仲恺农业工程学院,计算机科学与工程学院,动态转储,利用动态转储得到的副本进行故障恢复 需要把动态转储期间各事务对数据库的修改活动登记下来,建立日志文件 后备副本加上日志文件才能把数据库恢复到某一时刻的正确状态,仲恺农业工程学院,计算机科学与工程学院,(2)海量转储与增量转储,海量转储: 每次转储全部数据库 增量转储: 只转储上次转储后更新过的数据 海量转储与增量转储比较 从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便 但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用、更有效,仲恺农业工程学院,计算机科学与工程学院,转

11、储方法分类,仲恺农业工程学院,计算机科学与工程学院,7.2.2 数据库恢复技术,1数据转储技术 2登记日志文件 3使用多副本的恢复技术,仲恺农业工程学院,计算机科学与工程学院,2. 登记日志文件,什么是日志文件 日志文件(log)是用来记录事务对数据库的更新操作的文件 日志文件的格式 以记录为单位的日志文件 以数据块为单位的日志文件,仲恺农业工程学院,计算机科学与工程学院,日志文件的格式和内容(续),以记录为单位的日志文件内容 各个事务的开始标记(BEGIN TRANSACTION) 各个事务的结束标记(COMMIT或ROLLBACK) 各个事务的所有更新操作 具体来说,每个日志记录的格式为:

12、 (事务标识,操作类型,操作对象,前像,后像),仲恺农业工程学院,计算机科学与工程学院,日志文件的格式和内容(续),以记录为单位的日志文件,每条日志记录的内容 事务标识(标明是哪个事务) 操作类型(插入、删除或修改) 操作对象(记录内部标识) 前像(对插入操作而言,此项为空值) 后像(对删除操作而言, 此项为空值),仲恺农业工程学院,计算机科学与工程学院,日志文件的格式和内容(续),举例说明日志文件记录,对于下面每次操作,在日志文件中写一个记录: (1)事务T开始,日志记录为(T,start, , , ) (2)事务T修改对象A,日志记录为(T,update,A,前像,后像) (3)事务T插入

13、对象A,日志记录为(T,insert,A, ,后像) (4)事务T删除对象A,日志记录为(T,delete,A,前像, ) (5)事务T提交,日志记录为(T,commit, , , ) (6)事务T回滚,日志记录为(T,rollback, , , ),仲恺农业工程学院,计算机科学与工程学院,日志文件的格式和内容(续),以数据块为单位的日志文件,每条日志记录的内容 事务标识(标明是那个事务) 被更新的数据块,仲恺农业工程学院,计算机科学与工程学院,日志文件的作用,(1)当数据库发生的是事务故障和系统故障时,直接根据日志文件对相应的数据库操作进行UNDO和REDO操作即可; (2)当发生介质故障时

14、, 如果采用的是动态转储方式,则将后备副本和日志文件结合起来才能有效恢复数据库; 如果采用的是静态转储方式,也可建立日志文件,二者结合完成数据库的恢复。,仲恺农业工程学院,计算机科学与工程学院,使用后备副本和日志文件恢复数据库,仲恺农业工程学院,计算机科学与工程学院,登记日志文件,基本原则 (1)登记的次序必须严格按照并发事务执行的时间次序; (2)必须先写日志文件,后写数据库,并且日志文件不能和数据库放在同一磁盘上,要经常把它复制到磁带上。,仲恺农业工程学院,计算机科学与工程学院,7.2.2 数据库恢复技术,1数据转储技术 2登记日志文件 3使用多副本的恢复技术,仲恺农业工程学院,计算机科学

15、与工程学院,3使用多副本的恢复技术,如果系统中有多个数据库副本,并且各个副本不会因故障而同时失效,则称这些副本具有独立的失效模式。 优点:用户可以利用这些独立副本互为备份,很方便地恢复数据库 缺点:硬件和系统的代价比较高,仲恺农业工程学院,计算机科学与工程学院,7.2 数据库恢复,7.2.1 故障的种类 7.2.2 数据库恢复技术 7.2.3 恢复策略,仲恺农业工程学院,计算机科学与工程学院,7.2.3 恢复策略,1. 事务故障的恢复 2. 系统故障的恢复 3. 介质故障的恢复,仲恺农业工程学院,计算机科学与工程学院,1. 事务故障的恢复,事务故障:事务在运行至正常结束提交前被终止 恢复方法

16、应该撤消(UNDO)该事务对数据库的一切更新 事务故障的恢复由系统自动完成,对用户是透明的,不需要用户干预,仲恺农业工程学院,计算机科学与工程学院,事务故障的恢复步骤,(1)反向扫描日志文件,查找该事务的更新操作; (2)对查到更新操作的事务执行逆操作。即将日志记录中“更新前的值”写入数据库 若是UPDATE操作,则将日志文件“前像”写入数据库; 若是INSERT操作,则将数据对象删去; 若是DELETE操作,则做插入操作,插入数据对象的值为日志记录中“前像”; (3)继续反向扫描日志文件,找出其他的更新操作,并做同样处理。直至读到该事务的Start标记为止。,仲恺农业工程学院,计算机科学与工程学院,7.2.3 恢复策略,1. 事务故障的恢复 2. 系统故障的恢复 3. 介质故障的恢复,仲恺农业工程学院,计算机科学与工程学院,2. 系统故障的恢复,系统故障造成数据库不一致状态的原因 未完成事务对数据库的更新已写入数据库 已提交事务对数据库的更新还留在缓冲区没来得及写入数据库 恢复方法 1. Undo 故障发生时未完成的事务 2. Redo 已完成的事务

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号