J第7章数据库恢复技术1_第1页
J第7章数据库恢复技术1_第2页
J第7章数据库恢复技术1_第3页
J第7章数据库恢复技术1_第4页
J第7章数据库恢复技术1_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、An Introduction to Database System1数据库系统概论数据库系统概论An Introduction to Database System第七章第七章 数据库恢复技术数据库恢复技术An Introduction to Database System2第七章第七章 数据库恢复技术数据库恢复技术7.1 事务的基本概念事务的基本概念7.2 数据库恢复概述数据库恢复概述7.3 故障的种类故障的种类7.4 恢复的实现技术恢复的实现技术7.5 恢复策略恢复策略An Introduction to Database System37.1.1 事务的基本概念事务的基本概念n事务处理

2、技术包括事务处理技术包括数据库恢复数据库恢复和和并发控制并发控制技术。技术。n一、什么是事务一、什么是事务?n事务事务(Transaction)是用户是用户定义定义的一个数据库的一个数据库操作序操作序列列,这些操作,这些操作要么全做,要么全不做要么全做,要么全不做,是一个不可,是一个不可分割的工作单位分割的工作单位nDBMS将将事务事务看作数据库运行中的一个看作数据库运行中的一个逻辑工作单逻辑工作单位位,由,由DBMS的的事务管理子系统事务管理子系统负责事务的控制和负责事务的控制和管理。管理。n事务是恢复和并发控制的基本单位事务是恢复和并发控制的基本单位An Introduction to D

3、atabase System4二、如何定义事务二、如何定义事务n显式定义方式显式定义方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句语句1 SQL 语句语句1 SQL 语句语句2 SQL 语句语句2 。 。 COMMIT ROLLBACKn隐式方式隐式方式当用户没有显式地定义事务时,当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务按缺省规定自动划分事务An Introduction to Database System5三、事务结束三、事务结束COMMIT事务正常结束事务正常结束 提交提交事务的所有操作(事务的所有操作(读读+更新更新)事务中

4、所有对数据库的更新事务中所有对数据库的更新永久永久生效生效ROLLBACK事务异常终止事务异常终止n事务运行的过程中发生了故障,不能继续执行事务运行的过程中发生了故障,不能继续执行回滚事务的所有回滚事务的所有更新更新操作操作n事务回滚到事务回滚到开始开始时的状态时的状态An Introduction to Database System67.1.2 实例实例n例例1 将将学生学生-选课选课数据库中,英语课的课程数据库中,英语课的课程编号由编号由1156修改为修改为2256。n所涉及的关系:所涉及的关系:nCourse( Cno,Cname, Cpno,Ccredit)nSC( Sno,Cno,

5、Grade)n根据参照完整性约束,应将两表中的根据参照完整性约束,应将两表中的1156都改为都改为2256。n要将修改两个表的两个要将修改两个表的两个SQL语句定义成一个事务。语句定义成一个事务。DBMS对这两个语句要么都执行,要不都不执行。对这两个语句要么都执行,要不都不执行。An Introduction to Database System7定义事务如下:定义事务如下:nBEGIN TRANSACTIONn UPDATE Coursen SET Cno=2256n WHERE Cno=1156;n UPDATE SCn SET Cno=2256n WHERE Cno=1156;nCOMM

6、ITAn Introduction to Database System87.1.3 事务的特性事务的特性事务有事务有4个特性个特性(简称简称ACID特性特性):n原子性(原子性(Atomicity)n一致性(一致性(Consistency)n隔离性(隔离性(Isolation)n持续性(持续性(Durability )An Introduction to Database System91. 原子性原子性n原子性指:事务是数据库的逻辑工作单位,原子性指:事务是数据库的逻辑工作单位,事务中包括的诸操作事务中包括的诸操作要么都做,要么都不做要么都做,要么都不做An Introduction to

7、 Database System102. 一致性一致性事务执行的结果必须是使数据库从一个事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态一致性状态变到另一个一致性状态一致性状态一致性状态:数据库中只包含成功事务提交的结果数据库中只包含成功事务提交的结果不一致状态不一致状态:如果数据库运行中发生故障,有些事务还没完成如果数据库运行中发生故障,有些事务还没完成就被迫中断,事务对数据库的修改有一部分已就被迫中断,事务对数据库的修改有一部分已写入数据表,这时数据库就处于不一致状态。写入数据表,这时数据库就处于不一致状态。An Introduction to Database Syst

8、em113. 隔离性隔离性对多个事务对多个事务并发并发执行而言,一个事务的执行不能被其执行而言,一个事务的执行不能被其他事务干扰。他事务干扰。An Introduction to Database System124. 持续性持续性n持续性也称永久性持续性也称永久性n一个事务一旦提交,它对数据库中数据的改变一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。就应该是永久性的。n接下来的其他操作或故障不应该对其执行结果接下来的其他操作或故障不应该对其执行结果有任何影响。有任何影响。An Introduction to Database System13事务的特性事务的特性 n保证事务保证事

9、务ACID特性是事务管理子系统的重要任务特性是事务管理子系统的重要任务n可能破坏事务可能破坏事务ACID特性的因素特性的因素:n(1)多个事务并行运行时,不同事务的操作交叉执行)多个事务并行运行时,不同事务的操作交叉执行n(2)事务在运行过程中被强行终止)事务在运行过程中被强行终止n对于(对于(1)情况,)情况,DBMS必须保证多个事务的交叉必须保证多个事务的交叉运行,不影响这些事务的原子性。运行,不影响这些事务的原子性。n对于(对于(2)情况,)情况, DBMS必须保证被迫终止的事务必须保证被迫终止的事务对数据库和其他事务没有影响。对数据库和其他事务没有影响。n这些就是这些就是DBMS的的恢

10、复机制恢复机制和和并发控制机制并发控制机制的的责任责任。An Introduction to Database System147.2 数据库恢复概述数据库恢复概述n故障是不可避免的故障是不可避免的n计算机硬件故障n系统软件和应用软件的错误n操作员的失误n恶意的破坏n故障的影响故障的影响n轻则造成运行事务非正常中断n重则破坏数据库,使数据丢失n因此,DBMS必须具有将数据库从错误状态恢复到某一已知将数据库从错误状态恢复到某一已知的正确(一致)状态的功能的正确(一致)状态的功能。这就是数据库恢复功能这就是数据库恢复功能。An Introduction to Database System157.

11、3 故障的种类故障的种类n数据库系统可能发生的故障:数据库系统可能发生的故障:n事务故障事务故障n系统故障系统故障n介质故障介质故障n计算机病毒计算机病毒An Introduction to Database System167.3.1、事务内部故障、事务内部故障n什么是事务故障什么是事务故障n某个事务在运行过程中由于种种原因未运行至某个事务在运行过程中由于种种原因未运行至正常终点就终止了正常终点就终止了An Introduction to Database System17事务故障的恢复事务故障的恢复n发生事务故障时,夭折的事务可能已把对数发生事务故障时,夭折的事务可能已把对数据库的部分修改

12、写回磁盘据库的部分修改写回磁盘事务故障的恢复:事务故障的恢复:撤消事务(撤消事务(UNDO)n强行回滚(强行回滚(ROLLBACK)该事务)该事务, 清除该事务清除该事务对数据库的所有修改,使得这个事务象根本没对数据库的所有修改,使得这个事务象根本没有启动过一样有启动过一样An Introduction to Database System187.3.2 系统故障系统故障n什么是系统故障什么是系统故障n系统故障是指造成系统停止运转的任何事件,系统故障是指造成系统停止运转的任何事件,使得系统要重新启动使得系统要重新启动。n系统故障的常见原因系统故障的常见原因n特定类型的硬件错误(如特定类型的硬件

13、错误(如CPU故障)故障)n突然停电突然停电n操作系统或操作系统或DBMS代码错误代码错误n操作员操作失误操作员操作失误An Introduction to Database System19系统故障的恢复系统故障的恢复n 恢复子系统在系统重新启动时做到恢复子系统在系统重新启动时做到:n清除清除尚未完成的尚未完成的事务事务对数据库的所有对数据库的所有修改修改n系统系统重新启动时重新启动时,恢复程序要让所有非正常终,恢复程序要让所有非正常终止的事务回滚止的事务回滚, 强行撤消(强行撤消(UNDO)所有未完成)所有未完成事务事务An Introduction to Database System2

14、07.3.3 介质故障介质故障n系统故障称为系统故障称为软故障软故障,介质故障称为,介质故障称为硬故障硬故障。硬故。硬故障指外存故障。如:障指外存故障。如:n硬盘损坏、磁头碰撞、瞬时强磁场干扰等。硬盘损坏、磁头碰撞、瞬时强磁场干扰等。n硬件故障使存储在外存中的数据部分丢失或全部丢硬件故障使存储在外存中的数据部分丢失或全部丢失。失。这类故障将破坏数据库或破坏部分数据库这类故障将破坏数据库或破坏部分数据库,并并影响正在存取这部分数据的事务。影响正在存取这部分数据的事务。n介质故障比前两类故障的可能性小得多,但破坏性介质故障比前两类故障的可能性小得多,但破坏性大得多大得多An Introductio

15、n to Database System217.3.4 计算机病毒计算机病毒n这是人为的故障或破坏,是一种计算机程序这是人为的故障或破坏,是一种计算机程序n这种程序像病毒一样可以繁殖和传播,并造成对计这种程序像病毒一样可以繁殖和传播,并造成对计算机系统包括数据库的危害。算机系统包括数据库的危害。n计算机病毒已成为计算机系统的主要威胁,也是数计算机病毒已成为计算机系统的主要威胁,也是数据库系统的主要威胁。据库系统的主要威胁。n计算机安全工作者已研制了许多防病毒和查、杀病计算机安全工作者已研制了许多防病毒和查、杀病毒的软件。但还没有使计算机终生免疫的毒的软件。但还没有使计算机终生免疫的“疫苗疫苗”

16、。n因此数据库一旦被破坏,仍要用恢复技术对数据库因此数据库一旦被破坏,仍要用恢复技术对数据库进行恢复。进行恢复。An Introduction to Database System22n总结各类故障,对数据库的影响有两种可能:总结各类故障,对数据库的影响有两种可能:n一是数据库本身被破坏,一是数据库本身被破坏,n二是数据库没有破坏,但数据不正确(不一二是数据库没有破坏,但数据不正确(不一致),是因为事务的非正常终止造成的。致),是因为事务的非正常终止造成的。An Introduction to Database System23恢复操作的基本原理恢复操作的基本原理n恢复操作的基本原理:恢复操作

17、的基本原理:冗余冗余n利用利用存储在系统其它地方的存储在系统其它地方的冗余数据冗余数据来来重建重建数数据库中已被破坏或不正确的那部分数据据库中已被破坏或不正确的那部分数据An Introduction to Database System247.4 恢复的实现技术恢复的实现技术恢复机制涉及的关键问题:恢复机制涉及的关键问题:1. 如何建立冗余数据如何建立冗余数据n数据转储(数据转储(backup)n登录日志文件(登录日志文件(Logging)2. 如何利用这些冗余数据实施数据库恢复如何利用这些冗余数据实施数据库恢复An Introduction to Database System257.4.

18、1 数据转储数据转储一、什么是转储二、转储的用途三、转储方法An Introduction to Database System26一、什么是转储一、什么是转储n转储转储是指是指DBA定期地将整个数据库复制到另定期地将整个数据库复制到另一个磁盘上保存起来的过程。一个磁盘上保存起来的过程。n这些备用的数据文本称为这些备用的数据文本称为后备副本后备副本或后援副或后援副本。本。二、转储的用途二、转储的用途n当数据库遭到破坏时,可以将后备副本重新当数据库遭到破坏时,可以将后备副本重新装入。装入。An Introduction to Database System27例如:例如: 故障发生点故障发生点

19、转储转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb Tb Tf Tf 重装后备副本重装后备副本 重新运行事务重新运行事务恢复恢复 此处停止运行事务,开始转储。转储完毕,得到Tb时刻的数据库副本。然后继续运行事务。重装后备副本,将数据重装后备副本,将数据恢复到恢复到Tb时刻的状态时刻的状态重新运行重新运行TbTf时刻的所有更新事务,时刻的所有更新事务,将数据恢复到故障发生前的状态将数据恢复到故障发生前的状态An Introduction to Database System28三、转储方法三、转储方法转储十分耗费时间和资源,不能频繁进行.DBA应根据数据库使用情况,确定一个适当的转储

20、周期.转储分为:1静态转储与动态转储2海量转储与增量转储An Introduction to Database System291静态转储静态转储n静态转储是指在系统中静态转储是指在系统中无运行事务时无运行事务时进行转储进行转储n转储开始时数据库处于转储开始时数据库处于一致性一致性状态状态n转储期间不允许对数据库做任何存取、修改活动转储期间不允许对数据库做任何存取、修改活动.n优点:实现简单,得到的是优点:实现简单,得到的是一致性一致性的数据副本。的数据副本。n缺点:降低了数据库的可用性缺点:降低了数据库的可用性n转储必须等用户事务结束转储必须等用户事务结束n新的事务必须等转储结束新的事务必须

21、等转储结束An Introduction to Database System30利用静态转储副本进行恢复利用静态转储副本进行恢复 故障发生点故障发生点 静态静态转储转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb Tb Tf Tf 重装后备副本重装后备副本 恢复恢复 此处停止运行事务,进行转储。转储完毕,得到Tb时刻的数据库副本。然后继续运行事务。重装后备副本,将数据重装后备副本,将数据恢复到恢复到Tb时刻的状态时刻的状态An Introduction to Database System31 2. 动态转储动态转储n转储操作与用户事务并发进行转储操作与用户事务并发进行n转储期间转

22、储期间允许允许对数据库进行存取或修改对数据库进行存取或修改n优点优点n不用等待正在运行的用户事务结束不用等待正在运行的用户事务结束n不会影响新事务的运行不会影响新事务的运行n缺点缺点n不能保证副本中的数据正确有效不能保证副本中的数据正确有效An Introduction to Database System32例如,例如, 动态转储问题动态转储问题 A=100 转储转储 Ta Ta Tb Tb Tc Tc A=200 运行事务运行事务 TdTc时刻,将A=100转储到磁盘上。Td时刻,运行的事务,将A改为200可见,转储结束时,副本上的A=100数据已经过时了。因此需要把动态转储期间各事务需要

23、把动态转储期间各事务对数据库的修改活动登记下来对数据库的修改活动登记下来An Introduction to Database System33动态转储动态转储n利用动态转储得到的副本进行故障恢复利用动态转储得到的副本进行故障恢复n需要把动态转储期间各事务需要把动态转储期间各事务对数据库的修对数据库的修改活动改活动登记下来,建立日志文件登记下来,建立日志文件(Log File)n后备副本后备副本加上加上日志文件日志文件才能把数据库恢复才能把数据库恢复到某一时刻的正确状态到某一时刻的正确状态An Introduction to Database System342海量转储与增量转储海量转储与增量

24、转储n海量转储海量转储: 每次转储全部数据库每次转储全部数据库n增量转储增量转储: 只转储上次转储后更新过的数据只转储上次转储后更新过的数据n海量转储与增量转储比较海量转储与增量转储比较n从恢复角度看,使用海量转储得到的后备副本从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便进行恢复往往更方便n但如果数据库很大,事务处理又十分频繁,则但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效增量转储方式更实用更有效An Introduction to Database System353转储方法小结转储方法小结n转储方法分类 转储状态转储状态动态转储动态转储静态转储静态转储转储

25、转储方式方式海量转储海量转储动态海量转储动态海量转储静态海量转储静态海量转储增量转储增量转储动态增量转储动态增量转储静态增量转储静态增量转储An Introduction to Database System367.4.2 登记日志文件登记日志文件一、日志文件的内容一、日志文件的内容二、日志文件的用途二、日志文件的用途三、登记日志文件的原则三、登记日志文件的原则An Introduction to Database System37一、日志文件的内容一、日志文件的内容1. 什么是日志文件什么是日志文件日志文件日志文件(log)是用来记录事务对数据库的更新操是用来记录事务对数据库的更新操作的文件

26、作的文件2. 日志文件的格式有以下两种:日志文件的格式有以下两种:以以记录为单位记录为单位的日志文件的日志文件以以数据块为单位数据块为单位的日志文件的日志文件An Introduction to Database System38日志文件的内容(续)日志文件的内容(续)3. 日志文件内容主要包括:日志文件内容主要包括:n各个事务的开始标记各个事务的开始标记(BEGIN TRANSACTION)n各个事务的结束标记各个事务的结束标记(COMMIT或或ROLLBACK)n各个事务的所有各个事务的所有更新操作更新操作每个事务的以上内容作为日志文件中的一个日志记录每个事务的以上内容作为日志文件中的一个

27、日志记录 (log record)An Introduction to Database System394. 基于记录的日志文件基于记录的日志文件每条日志记录的内容主要包括:每条日志记录的内容主要包括:n事务标识(标明是哪个事务)事务标识(标明是哪个事务)n操作类型(插入、删除或修改)操作类型(插入、删除或修改)n操作对象(记录内部标识)操作对象(记录内部标识)n更新前数据的旧值(对插入操作而言,此项为空值)更新前数据的旧值(对插入操作而言,此项为空值)n更新后数据的新值(对删除操作而言更新后数据的新值(对删除操作而言, 此项为空值)此项为空值)An Introduction to Data

28、base System405. 以数据块为单位的日志文件以数据块为单位的日志文件每条日志记录的内容包括:每条日志记录的内容包括:n事务标识(标明是哪个事务)事务标识(标明是哪个事务)n更新前数据所在的整个数据块的值(对插入更新前数据所在的整个数据块的值(对插入操作而言,此项为空值)操作而言,此项为空值)n更新后整个数据块的值(对删除操作而言更新后整个数据块的值(对删除操作而言, 此项为空值)此项为空值)An Introduction to Database System41二、日志文件的用途二、日志文件的用途日志文件在数据库恢复中起着重要的作用。日志文件在数据库恢复中起着重要的作用。如:n进行

29、进行事务故障事务故障恢复恢复n进行进行系统故障系统故障恢复恢复n协助后备副本进行协助后备副本进行介质故障介质故障恢复恢复An Introduction to Database System42日志文件的用途(续)日志文件的用途(续)具体作用:(1)事务故障和系统故障恢复必须用日志文件。(2)日志文件与静态转储后备副本配合进行介质与静态转储后备副本配合进行介质故障恢复故障恢复An Introduction to Database System43日志文件的用途(续)日志文件的用途(续) 故障发生点故障发生点 静态转储静态转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb TfTb Tf

30、登记日志文件登记日志文件 重装后备副本重装后备副本 利用日志文件恢复事务利用日志文件恢复事务 继续运行继续运行介质故障恢复介质故障恢复 登记日志文件登记日志文件 An Introduction to Database System44日志文件的用途(续)日志文件的用途(续)(3)在动态转储方式中建立日志文件, LOG FILE + 动态转储后备副本动态转储后备副本 进行有效的介质故障恢复进行有效的介质故障恢复n动态转储数据库,同时转储同一时点的日志文件动态转储数据库,同时转储同一时点的日志文件n后备副本与该日志文件结合起来才能将数据库恢复后备副本与该日志文件结合起来才能将数据库恢复到一致性状态

31、。到一致性状态。n利用这些日志文件副本进一步恢复事务,避免重新利用这些日志文件副本进一步恢复事务,避免重新运行事务程序。运行事务程序。An Introduction to Database System45利用动态转储副本进行恢复利用动态转储副本进行恢复 Ta Ta 运行事务运行事务 Tb Tb Tf Tf 动态动态转储转储 运行事务运行事务 故障发生点故障发生点正常运行正常运行 登记日志文件登记日志文件 登记新日志文件登记新日志文件 转储日志文件转储日志文件 重装后备副本重装后备副本+ +用转储的日志文件恢复用转储的日志文件恢复恢复到一恢复到一 致性状态致性状态An Introduction

32、 to Database System46三、登记日志文件的原则三、登记日志文件的原则n为保证数据库是可恢复的,登记日志文件时必须为保证数据库是可恢复的,登记日志文件时必须遵循两条原则遵循两条原则n登记的次序严格按并发事务执行的登记的次序严格按并发事务执行的时间次序时间次序n必须先写日志文件,后写数据库必须先写日志文件,后写数据库n先写日志文件操作:把表示对数据库修改的日志记先写日志文件操作:把表示对数据库修改的日志记录录 写到日志文件中写到日志文件中n后写数据库操作:把对数据的修改写到数据库中后写数据库操作:把对数据的修改写到数据库中An Introduction to Database S

33、ystem477.5 恢复策略恢复策略7.5.1 事务故障的恢复7.5.2 系统故障的恢复7.5.3 介质故障的恢复An Introduction to Database System487.5.1 事务故障的恢复事务故障的恢复n事务故障:是指事务在运行至正常终止点之前被终止。n恢复方法n由恢复子系统利用日志文件撤消(UNDO)此事务已对数据库进行的修改n事务故障的恢复由系统自动完成,不需要用户干预An Introduction to Database System49DBMS执行事务故障的恢复步执行事务故障的恢复步骤骤1. 反向扫描日志文件(即从最后向前扫描日反向扫描日志文件(即从最后向前扫

34、描日志文件),查找该事务的更新操作。志文件),查找该事务的更新操作。2. 对该事务的更新操作执行逆操作。即,将对该事务的更新操作执行逆操作。即,将日志记录中日志记录中“更新前的值更新前的值”写入数据库。写入数据库。n登记的插入操作,登记的插入操作, “更新前的值更新前的值”为空,则为空,则恢复时相当于做删除操作恢复时相当于做删除操作n登记的删除操作,登记的删除操作,“更新后的值更新后的值”为空,则恢为空,则恢复时相当于做插入操作复时相当于做插入操作n若登记的是修改操作,则用若登记的是修改操作,则用更新前的值更新前的值 代替代替更新后的值更新后的值An Introduction to Datab

35、ase System50事务故障的恢复步骤事务故障的恢复步骤3. 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。4. 如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。An Introduction to Database System51例例:如图要对如图要对事务事务Ti进行恢复进行恢复, 即撤消即撤消(UNDO)该事务对数据库的修改该事务对数据库的修改n步骤如下步骤如下:n(1)从日志文件尾反向扫描从日志文件尾反向扫描,找到找到Ti-insert记录记录,从中知道从中知道Ti插插入了哪个记录入了哪个记录,将其删除将其删除.n(2)再接着往回扫描再接着往回扫描,找

36、到找到Ti-update记录,从中知道从中知道Ti修改了哪个修改了哪个记录记录,将其用修改前的值替换回去将其用修改前的值替换回去.n(3) 再接着往回找到再接着往回找到Ti-delete记录记录,从中知道从中知道Ti删除了哪个记删除了哪个记录录,将其插入将其插入.n(4)再接着往回扫描再接着往回扫描,找到各个找到各个Ti的操作的操作,执行执行UNDO操作直到操作直到Ti-begin为止.Ti-beginTi-deleteTi-updateTi-insert日志文件尾An Introduction to Database System527.5.2 系统故障的恢复系统故障的恢复n系统故障造成数据

37、库不一致状态的原因系统故障造成数据库不一致状态的原因:n一些未完成事务对数据库的更新已写入数据库一些未完成事务对数据库的更新已写入数据库n一些已提交事务对数据库的更新还留在缓冲区一些已提交事务对数据库的更新还留在缓冲区没来得及写入数据库没来得及写入数据库n恢复方法恢复方法n1. Undo (撤消)故障发生时未完成的事务(撤消)故障发生时未完成的事务n2. Redo(重做)(重做) 已完成的事务已完成的事务n系统故障的恢复由系统在系统故障的恢复由系统在重新启动时重新启动时自动完成自动完成,不需要用户干预不需要用户干预An Introduction to Database System53系统故障

38、的恢复系统故障的恢复步骤步骤1. 正向扫描日志文件(即从前头扫描日志文件)正向扫描日志文件(即从前头扫描日志文件)n将在故障发生前已经提交的事务记入将在故障发生前已经提交的事务记入Redo队列队列: T1, T3, T8.(这些事务既有这些事务既有BEGIN TRANSACTION记录记录,也有也有COMMIT记录记录 )n将故障发生时尚未完成的事务记入将故障发生时尚未完成的事务记入Undo队列队列: T2, T4, T5, T6, T7, T9 . .(这些事务有这些事务有BEGIN TRANSACTION记录记录,无无COMMIT记录记录 )An Introduction to Datab

39、ase System54系统故障的恢复步骤系统故障的恢复步骤2. 对对Undo队列事务进行队列事务进行UNDO(撤消撤消)处理处理 反向扫描日志文件,对每个反向扫描日志文件,对每个UNDO事务的更事务的更 新操作执行逆操作:将新操作执行逆操作:将“更新前的值更新前的值”写入数据库。写入数据库。3. 对对Redo队列事务进行队列事务进行REDO(重做重做)处理处理 正向扫描日志文件,对每个正向扫描日志文件,对每个REDO事务重新事务重新 执行登记的操作,将执行登记的操作,将“更新后的值更新后的值”写入数据库。写入数据库。An Introduction to Database System557.

40、5.3 介质故障的恢复介质故障的恢复发生介质故障后介质故障后,磁盘上的物理数据和日志文磁盘上的物理数据和日志文件被破坏。恢复的方法是件被破坏。恢复的方法是:1. 重装数据库, 使数据库恢复到一致性状态2. 重做已完成的事务An Introduction to Database System567.5.3 介质故障的恢复介质故障的恢复n具体恢复步骤具体恢复步骤:1. 装入最新的后备数据库副本,使数据库恢复到装入最新的后备数据库副本,使数据库恢复到最近一次转储时的一致性状态。最近一次转储时的一致性状态。n对于静态转储的数据库副本,装入后数据库对于静态转储的数据库副本,装入后数据库即处于一致性状态即处于一致性状态n对于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论