第8章 数据库恢复技术ppt课件.ppt

上传人:春哥&#****71; 文档编号:16976707 上传时间:2022-05-20 格式:PPT 页数:44 大小:654KB
返回 下载 相关 举报
第8章 数据库恢复技术ppt课件.ppt_第1页
第1页 / 共44页
第8章 数据库恢复技术ppt课件.ppt_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《第8章 数据库恢复技术ppt课件.ppt》由会员分享,可在线阅读,更多相关《第8章 数据库恢复技术ppt课件.ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第8 8章章 数据库恢复技术数据库恢复技术本章导读本章导读v 主要内容主要内容 介绍事务的基本概念及特征、故障类型及故障的恢复策略。v 学习目标学习目标(1)了解事务的基本概念及特性;(2)区别不同故障具有的特点;(3)掌握不同故障的恢复策略。事务的概念事务的概念v所谓事务是用户定义的一个的数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的逻辑单元。v在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或整个程序。事务和程序是两个概念,一般的讲,一个程序中包含多个事务。8.1事务的基本概念事务的基本概念事务的特性事务的特性( ACID)v原子性原子性(Atomicity)

2、 :要么都做,要么都不做v一致性一致性(Consistency): 一个一致状态到另一个一致状态v隔离性隔离性(Isolation):并发执行不可相互干扰v持久性持久性(Durability):改变是永久的8.1事务的基本概念事务的基本概念事务的特性事务的特性( ACID)v保证事务ACID特性是事物处理的重要任务,事务ACID特性可能遭到破坏的因素有: 多个事务并发执行,不同事务的操作交叉执行。 事务在运行过程中被强行停止。8.1事务的基本概念事务的基本概念 事务的状态事务的状态v事务开始(begin transaction)v事务提交(commit)v事务回滚(roll back)8.1事

3、务的基本概念事务的基本概念 BEGIN TRANSACTION SQL 语句1 SQL 语句2 COMMIT(ROLLBACK) 事务调度事务调度 事务调度指的是每个事务的指令在系统中执行的时间顺序。任何一组事务的调度必须保证两点:v调度必须包含所有事务的指令;v一个事务中指令的顺序在调度中必须保持不变。8.1事务的基本概念事务的基本概念 事务调度事务调度 事务调度有两种基本的调度形式:串行串行和并行并行。串行调度是在前一个事务完成之后,再开始做另外一个事务,类似于操作系统中的单道批处理作业。并行调度是来自不同事务的指令可以交叉执行,类似于操作系统中的多道批处理作业。8.1事务的基本概念事务的

4、基本概念8.2数据库恢复概述数据库恢复概述 数据库恢复是保障数据库安全性的一个重要机制。所谓数据库恢复,就是负责将数据库从故障所造成的错误状态中恢复到某一已知的正确状态。 8.2.1 8.2.1 数据库恢复的基本原理数据库恢复的基本原理 当系统运行过程中发生故障,利用数据库后备副本、日志文件以及数据库事务的两个必要操作(前滚和回滚)可以将数据库恢复到故障前的某个一致性状态,且在提交事务之前,必然要先提交日志。8.2数据库恢复概述数据库恢复概述8.2.2数据库恢复的约束条件数据库恢复的约束条件 恢复能够及时还原和重建数据库,但不是所有的情况下都能实现恢复操作。当系统出现了以下情况时,恢复操作是不

5、能进行的:(1)与被恢复的数据库名称不同的数据库名去恢复。 (2)服务器上数据库文件组与备份中的数据库文件组不一致。 (3)需恢复的数据名或文件名与备份的数据名或文件名不同。 8.2数据库恢复概述数据库恢复概述8.3故障的种类故障的种类 数据库系统主要有3 种故障:事务故障、系统故障、介质故障。1 1事务故障事务故障 事务故障指的是事务的运行没有到达预期的终点就被终止,有两种错误可能造成事务执行失败。(1)非预期故障:不能由应用程序处理的故障。(2)可预期故障:应用程序可以发现的事务故障,并且应用程序可以控制让事务回滚。2 2系统故障系统故障 系统故障又称软故障,指在硬件故障、软件错误(如CP

6、U故障、突然停电、DBMS、操作系统或应用程序等异常终止)的影响下,导致内存中数据丢失,并使得事务处理终止,但未破坏外存中数据库。8.3故障的种类故障的种类3 3介质故障介质故障 介质故障又称硬故障,指由于磁盘的磁头碰撞、瞬时的强磁场干扰等造成磁盘的损坏,破坏外存上的数据库,并影响正在存取这部分数据的所有事务。8.3故障的种类故障的种类 对数据库的影响有两种可能性:v数据库本身被破坏;v事务运行时被非正常终止,可能造成数据不正确。8.3故障的种类故障的种类数据库一旦被破坏就需要利用副本和日志文件(冗余数据)进行数据库的恢复,把数据库从错误状态恢复到某一已知的正确状态。v 对恢复机制涉及的两个关

7、键问题是:(1)如何建立冗余数据;(2)如何利用这些冗余数据实施数据库恢复。 建立冗余数据最常用的技术是数据转储数据转储和登陆登陆日志文件日志文件,通常在一个数据库系统中,这两种方法是一起使用的。8.4恢复的实现技术恢复的实现技术1 1数据转储数据转储 数据转储是由DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程,这些备用的数据文本称为后备副本或后援副本。8.4恢复的实现技术恢复的实现技术如何使用?(1)数据库遭到破坏后可以将后备副本重新装入;(2)重装后备副本只能将数据库恢复到转储时的状态。v转储方法分类转储方法分类8.4恢复的实现技术恢复的实现技术 转储状态转储状态动态转储动

8、态转储静态转储静态转储转储转储方式方式海量转海量转储储动态海量转储动态海量转储静态海量转静态海量转储储增量转增量转储储动态增量转储动态增量转储静态增量转静态增量转储储(1 1)静态)静态转储转储v在系统中无运行事务时进行的转储操作;v转储开始时数据库处于一致性状态;v转储期间不允许对数据库的任何存取、修改活动;v得到的一定是一个数据一致性的副本 。优点优点:实现简单,恢复方便。缺点:缺点:降低了数据库的可用性。8.4恢复的实现技术恢复的实现技术(2 2)动态转储)动态转储v转储操作与用户事务并发进行;v转储期间允许对数据库进行存取或修改。优点:优点: 不用等待正在运行的用户事务结束 不会影响新

9、事务的运行缺点:缺点:不能保证副本中的数据正确有效8.4恢复的实现技术恢复的实现技术(2 2)动态转储)动态转储 例如,在转储期间的某个时刻Tc,系统把数据A=100转储到磁带上,而在下一时刻Td,某一事务将A改为200。转储结束后,后备副本上的A已是过时的数据了。8.4恢复的实现技术恢复的实现技术(1)需要建立日志文件登记转储期间的修改活动(2)后备副本加上日志文件才能把数据库恢复到某一时刻的正确状态。(3 3)海量转储与增量转储)海量转储与增量转储海量转储: 每次转储全部数据库。增量转储: 只转储上次转储后更新过的数据。v海量转储与增量转储比较海量转储与增量转储比较 从恢复角度看,使用海量

10、转储得到的后备副本进行恢复往往更方便方便。 但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效更有效。8.4恢复的实现技术恢复的实现技术2.登记日志文件登记日志文件 日志是以事务为单位记录数据库的每一次更新活动的文件,由系统自动记录。为保证数据库是可恢复的,登记日志文件时必须遵循两条原则:(1)登记的次序严格按并发事务执行的时间次序;(2)必须先写日志文件,后写数据库。8.4恢复的实现技术恢复的实现技术v日志文件的作用日志文件的作用(1)进行事务故障恢复(2)进行系统故障恢复(3)协助后备副本进行介质故障恢复8.4恢复的实现技术恢复的实现技术 在故障发生后,可通过前滚和回滚恢复数

11、据库(如图8-1所示),前滚就是通过后备副本恢复数据库,并且重做应用保存后的所有有效事务。回滚就是撤消错误地执行或者未完成的事务对数据库的修改。8.4恢复的实现技术恢复的实现技术图图8-1 回滚与前滚回滚与前滚8.4恢复的实现技术恢复的实现技术8.5恢恢复复策策略略事务故障的恢复事务故障的恢复 事务故障是指事务在未运行到正常终止点前被终止的情况,属于夭折事务,应该将其回滚,利用日志文件撤销事务(undo)对数据库已做的修改。事务故障的事务故障的恢复策略:恢复策略:(1)反向扫描日志文件,查找该事务的更新操作。(2)对该事务的更新操作执行逆操作,即将事务更新前的旧值写人数据库。若是插入操作,则做

12、删除操作;若是删除操作,则做插入操作。若是修改操作,则相当于用修改前旧值代替修改后新值。(3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理,如此处理下去。直至读到此事务的开始标识。事务的故障恢复就完成了。8.5恢恢复复策策略略系统故障的恢复系统故障的恢复 对于系统故障,有两种情况会造成数据库的不一致:(1)未完成事务对数据库的更新可能已写入数据库。(2)已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。8.5恢恢复复策策略略系统故障系统故障的的恢复策略:恢复策略:(1)正向扫描日志文件,找出圆满事务,将其事务标识记入重做队列,找出夭折事务,将其事务标识记入撤销队列。(

13、2)对撤销队列中的各个事务进行撤销处理。方法是:反向扫描日志文件,对每个undo事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。(3)正向扫描日志文件,日志记录中“更新后的值”写入数据库。8.5恢恢复复策策略略图图8-2利用静态转储副本和日志文件进行恢复利用静态转储副本和日志文件进行恢复 静态静态转储转储 运行事务运行事务 正常运行正常运行 T T0 0 T T1 1 T T2 2 重装后备副本重装后备副本 利用日志文件恢复利用日志文件恢复 继续运行继续运行恢复恢复 登记日志文件登记日志文件登记日志文件登记日志文件8.4恢复的实现技术恢复的实现技术介质故障恢复介质故障恢复图8

14、-2中:v系统在T0时刻停止运行事务,进行数据库转储;v在T1时刻转储完毕,得到T1时刻的数据库一致性副本;v系统运行到T2时刻发生故障;v为恢复数据库,首先由DBA重装数据库后备副本,将数据库恢复至T1时刻的状态;v重新运行自T1T2时刻的所有更新事务,把数据库恢复到故障发生前的一致状态。8.4恢复的实现技术恢复的实现技术v利用日志技术进行数据库恢复时,需要检查所有的日志记录。这样做会产生两个问题:一是搜索整个日志将耗费大量的时间,二是很多需要重做处理的事务实际上已经将它们的更新操作结果写到数据库中,然而恢复子系统又重新执行了这些操作,浪费了大量时间浪费了大量时间。为解决这些问题,又发展了具

15、有检查点的恢复技术。8.5恢恢复复策策略略v具有检查点(具有检查点(checkpointcheckpoint)的恢复技术)的恢复技术 在日志文件中增加检查点记录(checkpoint) 增加一个重新开始文件 让恢复子系统在登录日志文件期间动态地维护日志8.6具有检查点的恢复技术具有检查点的恢复技术1 1建立检查点建立检查点 建立检查点的具体步骤如下: (1)将当前日志缓冲中的所有日志记录写入磁盘的日志文件上。 (2)在日志文件中写入一个检查点记录。 (3)将当前数据缓冲的所有数据记录写入磁盘的数据库中。 (4)把检查点记录在日志文件中的地址写入一个重新开始文件中。8.6具有检查点的恢复技术具有

16、检查点的恢复技术2 2改进的检查点(糊模检查点)改进的检查点(糊模检查点) 在建立检查点的过程中,不允许事务执行任何更新动作。这种限制会使得生成一个检查点的时间很长,从而导致事务处理中难以忍受的中断。 为避免这种中断,可以改进检查点技术,使之允许在检查点记录写入日志后,但在修改过的缓冲块写到磁盘前做更新,这样产生的检查点称为模糊模糊检查点检查点。8.6具有检查点的恢复技术具有检查点的恢复技术8.6具有检查点的恢复技术具有检查点的恢复技术3 3使用检查点进行数据恢复的策略使用检查点进行数据恢复的策略 当系统出现故障发生时,对于检查点前后各种状态事务的不同处理情况采取相应的恢复策略,如图8-3所示

17、。vT1:在检查点之前提交,无须redo。vT2:在检查点之前开始执行,在检查点之后、故障点之前提交,要redo。vT3:在检查点之前开始执行,在故障点时还未完成,所以予以撤销。vT4:在检查点之后开始执行,在故障点之前提交,要redo。vT5:在检查点之后开始执行,在故障点时还未完成,所以予以撤销。图图8-3 恢复子系统采取的不同策略恢复子系统采取的不同策略8.6具有检查点的恢复技术具有检查点的恢复技术8.7数据库镜像数据库镜像提高数据库可用性的解决方案:提高数据库可用性的解决方案:v数据库镜像(数据库镜像(MirrorMirror) DBMS自动把整个数据库或其中的关键数据复制到另一个磁盘

18、上。 DBMS自动保证镜像数据与主数据库的一致性 每当主数据库更新时,DBMS自动把更新后的数据复制过去(如图8-4(a)所示)。8.7数据库镜像数据库镜像图图8-4 数据库镜像数据库镜像v出现介质故障时出现介质故障时 可由镜像磁盘继续提供使用 ; 同时DBMS自动利用镜像磁盘数据进行数据库的恢复; 不需要关闭系统和重装数据库副本(如图8-4(b)所示)。8.7数据库镜像数据库镜像v 没有出现故障时没有出现故障时n可用于并发操作;n一个用户对数据加排它锁修改数据,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁 。频繁地复制数据自然会降低系统运行效率;在实际应用中用户往往只选择对关键数据和日志文件镜像,而不是对整个数据库进行镜像。8.7数据库镜像数据库镜像本章小结本章小结1.基本概念:事务、数据库恢复、前滚、回滚、数据库镜像。2.事务的ACID特性:原子性、一致性、隔离性、持久性。3.事务的状态:begin transaction)、commit)、roll back。4.事务调度的形式:串行和并行。5.数据库系统主要包含3 种故障:事务故障、系统故障、介质故障。6. 数据库恢复实现技术:数据转储和登录日志文件。7. 具有检查点的技术在日志文件中增加了“检查点记录”和一个“重新开始”文件。本章小结本章小结

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁