第十章 数据库恢复技术精选PPT.ppt
《第十章 数据库恢复技术精选PPT.ppt》由会员分享,可在线阅读,更多相关《第十章 数据库恢复技术精选PPT.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十章数据库恢复技术第1页,此课件共36页哦10.1 事务的基本概念事务的基本概念一、事务一、事务v事务事务(Transaction)是用户定义的一个数据库操作序列,这些操作是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。要么全做,要么全不做,是一个不可分割的工作单位。v事务和程序是两个概念事务和程序是两个概念在关系数据库中,一个事务可以是一条在关系数据库中,一个事务可以是一条SQL语句,一组语句,一组SQL语句或整个程序;语句或整个程序;一个应用程序通常包含多个事务。一个应用程序通常包含多个事务。v事务是恢复和并发控制的基本单位。事务是恢复和并发控制的
2、基本单位。第2页,此课件共36页哦二、如何定义事务二、如何定义事务v显式定义方式显式定义方式 BEGIN TRANSACTION SQL 语句语句1 SQL 语句语句2 COMMITn隐式方式隐式方式当用户没有显式地定义事务时,当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务按缺省规定自动划分事务COMMIT事务正常结束事务正常结束 提交提交事务的所有操作(事务的所有操作(读读+更新更新)事务中所有对数据库的更新事务中所有对数据库的更新永久永久生效生效ROLLBACK事务异常终止事务异常终止n事务运行的过程中发生了故障,不能继续执行事务运行的过程中发生了故障,不能继续执行回滚事务的所
3、有回滚事务的所有更新更新操作操作n事务滚回到事务滚回到开始开始时的状态时的状态BEGIN TRANSACTIONSQL 语句语句1SQL 语句语句2 ROLLBACK第3页,此课件共36页哦三、事务的特性三、事务的特性(ACID特性特性)1.原子性(原子性(Atomicity)2.一致性(一致性(Consistency)3.隔离性(隔离性(Isolation)4.持续性(持续性(Durability)也称永久性(也称永久性(Permanence)事务是数据库的逻辑工作单位。事务是数据库的逻辑工作单位。事务中包括的诸操作要么都做,要么都不事务中包括的诸操作要么都做,要么都不做。做。事务执行的结果
4、必须是使数据库从一个事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性状态变到另一个一致性状态。一个事务的执行不能被其他事务干一个事务的执行不能被其他事务干扰扰一个事务内部的操作及使用的数据一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰各个事务之间不能互相干扰一个事务一旦提交,它对数据库中数据一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。的改变就应该是永久性的。接下来的其他操作或故障不应该对其执接下来的其他操作或故障不应该对其执行结果有任何影响。行结果有任何影响。v保证事务保证事务AC
5、ID特性是事务处理的任务特性是事务处理的任务v破坏事务破坏事务ACID特性的因素特性的因素多个事务并行运行时,不同事务的操作交叉执行;多个事务并行运行时,不同事务的操作交叉执行;事务在运行过程中被强行停止。事务在运行过程中被强行停止。第4页,此课件共36页哦10.2 数据库恢复概述数据库恢复概述v故障是不可避免的故障是不可避免的计算机硬件故障;计算机硬件故障;系统软件和应用软件的错误;系统软件和应用软件的错误;操作员的失误;操作员的失误;恶意的破坏。恶意的破坏。v故障的影响故障的影响运行事务非正常中断;运行事务非正常中断;破坏数据库。破坏数据库。v数据库管理系统对故障的对策数据库管理系统对故障
6、的对策DBMS提供恢复子系统;提供恢复子系统;保证故障发生后,能把数据库中的数据从错误状态恢复到某种逻保证故障发生后,能把数据库中的数据从错误状态恢复到某种逻辑一致的状态;辑一致的状态;保证事务保证事务ACID。恢复技术是衡恢复技术是衡量系统优劣的量系统优劣的重要指标重要指标第5页,此课件共36页哦10.3 故障的种类故障的种类n事务故障事务故障n系统故障系统故障n介质故障介质故障n计算机病毒计算机病毒第6页,此课件共36页哦一、事务内部故障一、事务内部故障指某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了。指某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了。事务内部故障有
7、的是可以通过程序本身发现的;事务内部故障有的是可以通过程序本身发现的;有的是非预期的,不能由事务程序处理,如:输入数据有误、运算溢出、违反有的是非预期的,不能由事务程序处理,如:输入数据有误、运算溢出、违反了某些完整性限制、某些应用程序出错、并行事务发生死锁等等。了某些完整性限制、某些应用程序出错、并行事务发生死锁等等。以后,事务故以后,事务故障仅指这一类故障障仅指这一类故障。事务故障意味着事务没有达到预期的终点(事务故障意味着事务没有达到预期的终点(COMMITCOMMIT或者显式的或者显式的ROLLBACKROLLBACK),因),因此,数据库可能处于不正确状态。恢复程序要在不影响其它事务
8、运行的情况下,强行回此,数据库可能处于不正确状态。恢复程序要在不影响其它事务运行的情况下,强行回滚(滚(ROLLBACKROLLBACK)该事务,即撤消该事务已经作出的任何对数据库的修改,使得该)该事务,即撤消该事务已经作出的任何对数据库的修改,使得该事务好象根本没有启动一样。事务好象根本没有启动一样。这类恢复操作称为事务撤消(这类恢复操作称为事务撤消(UNDOUNDO)。)。例如:银行转帐事务。这个事务把一笔金额从一个帐户甲转给另一个帐户乙。例如:银行转帐事务。这个事务把一笔金额从一个帐户甲转给另一个帐户乙。BEGIN TRANSACTIONBEGIN TRANSACTION读帐户甲的余额读
9、帐户甲的余额BALANCE;BALANCE;BALANCE BALANCEBALANCE-AMOUNT;BALANCE-AMOUNT;(AmountAmount为转帐金额)为转帐金额)IF(BALANCE 0)IF(BALANCE 0)THEN THEN 打印打印 金额不足,不能转帐金额不足,不能转帐;ROLLBACK ROLLBACK;(撤消刚才的修改,恢复事务);(撤消刚才的修改,恢复事务)ELSE ELSE 读帐户乙的余额读帐户乙的余额BALANCE1;BALANCE1;BALANCE1 BALANCE1BALANCE1+AMOUNT;BALANCE1+AMOUNT;写回写回BALANC
10、E1;BALANCE1;COMMIT;COMMIT;第7页,此课件共36页哦二、系统故障二、系统故障系统故障系统故障是指造成系统停止运转的任何事件,使得系统要重新启动。是指造成系统停止运转的任何事件,使得系统要重新启动。引起的原因引起的原因:特定类型的硬件错误(:特定类型的硬件错误(CPUCPU故障)、操作系统故障、故障)、操作系统故障、DBMSDBMS代码错误、代码错误、突然停电等等。突然停电等等。故障的后果:故障的后果:影响正在运行的所有事务,但不破坏数据库。影响正在运行的所有事务,但不破坏数据库。这时主存内容,尤其是数据库缓冲区(在内存)中的内容都被丢失,所有运行事务这时主存内容,尤其是
11、数据库缓冲区(在内存)中的内容都被丢失,所有运行事务都非正常终止。都非正常终止。发生系统故障时,一些尚未完成的事务的结果可能已送入物理数据库,有发生系统故障时,一些尚未完成的事务的结果可能已送入物理数据库,有些已完成的事务可能有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物些已完成的事务可能有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理数据库中,从而造成数据库可能处于不正确的状态。理数据库中,从而造成数据库可能处于不正确的状态。故障的恢复故障的恢复:为保证数据一致性,恢复子系统必须在系统重新启动时让:为保证数据一致性,恢复子系统必须在系统重新启动时让所有非正常终止的事务回滚,强行撤消(所有
12、非正常终止的事务回滚,强行撤消(UNDOUNDO)所有未完成事务。重做)所有未完成事务。重做(RedoRedo)所有已提交的事务,以将数据库真正恢复到一致状态。)所有已提交的事务,以将数据库真正恢复到一致状态。第8页,此课件共36页哦三、介质故障三、介质故障v系统故障常称为系统故障常称为软故障软故障(Soft CrashSoft Crash)。)。v介质故障称为介质故障称为硬故障硬故障(Hard CrashHard Crash)。)。v硬故障硬故障指外存故障,如磁盘损坏、磁头碰撞,瞬时强磁场干扰等。指外存故障,如磁盘损坏、磁头碰撞,瞬时强磁场干扰等。v硬故障将硬故障将破坏破坏数据库或部分数据库
13、,并数据库或部分数据库,并影响影响正在存取这部分数据的所有事务。正在存取这部分数据的所有事务。这类故障比前两类故障发生的可能性小得多,但破坏性最大。这类故障比前两类故障发生的可能性小得多,但破坏性最大。v硬故障的恢复硬故障的恢复:装入装入数据库发生介质故障前某个时刻的数据数据库发生介质故障前某个时刻的数据副本,副本,重做自重做自此时开始的所有此时开始的所有成功事务成功事务,将这些事务已提交的结果重新记入数据库,将这些事务已提交的结果重新记入数据库第9页,此课件共36页哦四、计算机病毒四、计算机病毒计计算机病毒是一种人算机病毒是一种人为为的故障或破坏,是一些的故障或破坏,是一些恶恶作作剧剧者研制
14、的一种者研制的一种计计算机程序,算机程序,这这种程序与其他程序不同,种程序与其他程序不同,它象微生物学所称的病毒一它象微生物学所称的病毒一样样可以繁殖和可以繁殖和传传播,并造成播,并造成对计对计算机系算机系统统包括数据包括数据库库的危害的危害。总结各类故障,对数据库的影响有两种可能性,一是总结各类故障,对数据库的影响有两种可能性,一是数据库本身被破坏数据库本身被破坏,二是二是数据库没有破坏,但数据可能不正确数据库没有破坏,但数据可能不正确,这是因为事务的运行被中止造成的。这是因为事务的运行被中止造成的。v恢复操作的基本原理恢复操作的基本原理:冗余冗余 利用利用存储在系统其它地方的存储在系统其它
15、地方的冗余数据冗余数据来来重建重建数据库中已被破坏或不正确的那数据库中已被破坏或不正确的那部分数据部分数据v恢复的实现技术恢复的实现技术:复杂:复杂 一个大型数据库产品,恢复子系统的代码要占全部代码的一个大型数据库产品,恢复子系统的代码要占全部代码的10%以上。以上。第10页,此课件共36页哦10.4 10.4 恢复的实现技术恢复的实现技术恢复机制涉及的关键问题恢复机制涉及的关键问题1.如何建立冗余数据如何建立冗余数据数据转储(数据转储(backup)登录日志文件(登录日志文件(logging)2.如何利用这些冗余数据实施数据库恢复如何利用这些冗余数据实施数据库恢复第11页,此课件共36页哦1
16、0.4.1 数据转储数据转储一、什么是转储一、什么是转储 故障发生点故障发生点 转储转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb Tb Tf Tf 重装后备副本重装后备副本 重新运行事务重新运行事务恢复恢复 图图7.1 转储和恢复转储和恢复二、转储的用途二、转储的用途转储是指转储是指DBA将整个数据库复制到磁带或另一个磁盘上保存起来的过将整个数据库复制到磁带或另一个磁盘上保存起来的过程。程。这些备用的数据文本称为后备副本或后援副本。这些备用的数据文本称为后备副本或后援副本。三、转储方法三、转储方法1静态转储与动态转储静态转储与动态转储2海量转储与增量转储海量转储与增量转储第12页
17、,此课件共36页哦1静态转储静态转储v在系统中无运行事务时进行转储;在系统中无运行事务时进行转储;v转储开始时数据库处于一致性状态;转储开始时数据库处于一致性状态;v转储期间不允许对数据库的任何存取、修改活动;转储期间不允许对数据库的任何存取、修改活动;v优点:实现简单;优点:实现简单;v缺点:降低了数据库的可用性。缺点:降低了数据库的可用性。转储必须等用户事务结束;转储必须等用户事务结束;新的事务必须等转储结束。新的事务必须等转储结束。第13页,此课件共36页哦2 动态转储动态转储v转储操作与用户事务并发进行;转储操作与用户事务并发进行;v转储期间允许对数据库进行存取或修改;转储期间允许对数
18、据库进行存取或修改;v优点:优点:不用等待正在运行的用户事务结束;不用等待正在运行的用户事务结束;不会影响新事务的运行。不会影响新事务的运行。v动态转储的缺点:动态转储的缺点:不能保证副本中的数据正确有效。不能保证副本中的数据正确有效。v利用动态转储得到的副本进行故障恢复时利用动态转储得到的副本进行故障恢复时需要把动态转储期间各事务对数据库的修改活动登记下来,建立日志文件需要把动态转储期间各事务对数据库的修改活动登记下来,建立日志文件后备副本加上日志文件才能把数据库恢复到某一时刻的正确状态后备副本加上日志文件才能把数据库恢复到某一时刻的正确状态第14页,此课件共36页哦3海量转储与增量转储海量
19、转储与增量转储v海量转储海量转储:每次转储全部数据库。每次转储全部数据库。v增量转储增量转储:只转储上次转储后更新过的数据。只转储上次转储后更新过的数据。v海量转储与增量转储比较:海量转储与增量转储比较:从恢复角度看,使用海量转储得到的后备副本进行恢复往从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便;往更方便;但如果数据库很大,事务处理又十分频繁,则增量转储方但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。式更实用更有效。第15页,此课件共36页哦4转储方法小结转储方法小结表表7.1 转储方法分类转储方法分类转储状态转储状态动态转储动态转储静态转储静态转储转储转储
20、方式方式海量转储海量转储动态海量转储动态海量转储静态海量转储静态海量转储增量转储增量转储动态增量转储动态增量转储静态增量转储静态增量转储第16页,此课件共36页哦5 转储策略转储策略v应定期进行数据转储,制作后备副本。应定期进行数据转储,制作后备副本。v但转储又是十分耗费时间和资源的,不能频繁进行。但转储又是十分耗费时间和资源的,不能频繁进行。vDBA应该根据数据库使用情况确定适当的转储周期和转储方应该根据数据库使用情况确定适当的转储周期和转储方法。法。例:例:每天晚上进行动态增量转储每天晚上进行动态增量转储每周进行一次动态海量转储每周进行一次动态海量转储每月进行一次静态海量转储每月进行一次静
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十章 数据库恢复技术精选PPT 第十 数据库 恢复 技术 精选 PPT
限制150内