




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章第七章 数据库恢复技术数据库恢复技术本章主要教学内容:本章主要教学内容:事务的概念及性质事务的概念及性质缺点的种类缺点的种类恢复的实现技术及战略恢复的实现技术及战略7.1 事务的根本概念事务的根本概念一、事务一、事务 1. 定义:定义: 事务事务(Transaction)是用户定义的一个数据库操作序列,这是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的任务单位些操作要么全做,要么全不做,是一个不可分割的任务单位 2. 事务和程序的区别: 在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序 一个运用程序通常包含多个事务事务是恢复和并发控制的
2、根本单位。事务是恢复和并发控制的根本单位。二、定义事务的方法二、定义事务的方法1. 显示定义方法:显示定义方法:BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句语句1 SQL 语句语句1 SQL 语句语句2 SQL 语句语句2 COMMIT ROLLBACK阐明:阐明:COMMIT 事务正常终了事务正常终了 提交事务的一切操作读提交事务的一切操作读+更新更新 事务中一切对数据库的更新永久生事务中一切对数据库的更新永久生效效ROLLBACK事务异常终止事务异常终止事务运转的过程中发生了缺点,不能事务运转的过程中发生了缺点,不能继续执行继续执行吊销事务中对数据库
3、的一切更新操作吊销事务中对数据库的一切更新操作事务滚回到开场时的形状事务滚回到开场时的形状2. 隐式定义方式隐式定义方式 当用户没有显式地定义事务时,当用户没有显式地定义事务时,DBMS按缺省规定自动划分按缺省规定自动划分事务。事务。三、事务的特性三、事务的特性事务的事务的ACID特性:特性:原子性原子性Atomicity一致性一致性Consistency隔离性隔离性Isolation继续性继续性Durability 1. 原子性:原子性: 事务是数据库的逻辑任务单位,事务中包括的诸操作要么都事务是数据库的逻辑任务单位,事务中包括的诸操作要么都做,要么都不做。做,要么都不做。2. 一致性:一致
4、性: 事务执行的结果必需是使数据库从一个一致性形状变到另一事务执行的结果必需是使数据库从一个一致性形状变到另一个一致性形状。个一致性形状。一致性形状:数据库中只包含胜利事务提交的结果。一致性形状:数据库中只包含胜利事务提交的结果。不一致形状:数据库中包含失败事务的结果。不一致形状:数据库中包含失败事务的结果。例:银行转帐:从帐号例:银行转帐:从帐号A中取出一万元,存入帐号中取出一万元,存入帐号B。 B=B+1 A=A-1BA定义一个事务,该事务包括两个操作定义一个事务,该事务包括两个操作这两个操作要么全做,要么全不做:这两个操作要么全做,要么全不做: 全做或者全不做,数据库都处于一致性形状。全
5、做或者全不做,数据库都处于一致性形状。 假设只做一个操作,数据库就处于不一致性形状。假设只做一个操作,数据库就处于不一致性形状。3. 隔离性隔离性一个事务的执行不能被其他事务干扰。一个事务的执行不能被其他事务干扰。n 一个事务内部的操作及运用的数据对其他并发事务是隔离的一个事务内部的操作及运用的数据对其他并发事务是隔离的n 并发执行的各个事务之间不能相互关扰并发执行的各个事务之间不能相互关扰举例:举例: 读A=16 AA-3写回A=13 读A=16 AA-1 写回A=15 T2T1T1T1的修正被的修正被T2T2覆盖覆盖4. 继续性继续性继续性也称永久性继续性也称永久性Permanence。
6、一个一个事务一旦提交,它对数据库中数据的改动就应该是一个一个事务一旦提交,它对数据库中数据的改动就应该是永久性的。永久性的。 接下来的其他操作或缺点不应该对其执行结果有任何影响。接下来的其他操作或缺点不应该对其执行结果有任何影响。n 保证事务保证事务ACID特性是事务处置的义务特性是事务处置的义务n 破坏事务破坏事务ACID特性的要素特性的要素n 多个事务并行运转时,不同事务的操作交叉执行多个事务并行运转时,不同事务的操作交叉执行n 事务在运转过程中被强行停顿事务在运转过程中被强行停顿事务是恢复和并发控制的根本单位。事务是恢复和并发控制的根本单位。7.2 数据库恢复概述数据库恢复概述缺点是不可
7、防止的缺点是不可防止的 计算机硬件缺点计算机硬件缺点 系统软件和运用软件的错误系统软件和运用软件的错误 操作员的失误操作员的失误 恶意的破坏恶意的破坏缺点的影响缺点的影响 运转事务非正常中断运转事务非正常中断 破坏数据库破坏数据库 数据库管理系统必需具有把数据库从错误形状恢复到某一知的正确形状的功能,这就是数据库的恢复。数据库管理系统对缺点的对策数据库管理系统对缺点的对策 DBMS提供恢复子系统提供恢复子系统 保证缺点发生后,能把数据库中的数据从错误形状恢复到保证缺点发生后,能把数据库中的数据从错误形状恢复到某种逻辑一致的形状某种逻辑一致的形状 保证事务保证事务ACID恢复技术是衡量系统优劣的
8、重要目的。恢复技术是衡量系统优劣的重要目的。7.3 缺点的种类缺点的种类一、事务内部的缺点一、事务内部的缺点 某个事务在运转过程中由于种种缘由未运转至正某个事务在运转过程中由于种种缘由未运转至正常终止常终止事务缺点。数据库能够处于不一致形状事务缺点。数据库能够处于不一致形状事务缺点的常见缘由非预期的:事务缺点的常见缘由非预期的: 输入数据有误输入数据有误 运算溢出运算溢出 违反了某些完好性限制违反了某些完好性限制 某些运用程序出错某些运用程序出错 并行事务发生死锁并行事务发生死锁 事务缺点事务缺点经过事务程序本身发现经过事务程序本身发现(由程序本身处置由程序本身处置P249例例)非预期的,不能
9、由事务程序处置非预期的,不能由事务程序处置 发惹事务缺点时,该事务能够已把对数据库的部分修正写回发惹事务缺点时,该事务能够已把对数据库的部分修正写回磁盘。磁盘。事务缺点的恢复:吊销事务事务缺点的恢复:吊销事务UNDO。n 强行回滚强行回滚ROLLBACK该事务该事务n 去除该事务对数据库的一切修正,使得这个事务象根本没去除该事务对数据库的一切修正,使得这个事务象根本没有启动过一样有启动过一样二、系统缺点二、系统缺点 1. 系统缺点是指呵斥系统停顿运转的任何事件,使得系统要重新启动。n 整个系统的正常运转忽然被破坏整个系统的正常运转忽然被破坏n 一切正在运转的事务都非正常终止一切正在运转的事务都
10、非正常终止n 内存中数据库缓冲区的信息全部丧失内存中数据库缓冲区的信息全部丧失2. 系统缺点的常见缘由:系统缺点的常见缘由:n 操作系统或操作系统或DBMS代码错误代码错误n 操作员操作失误操作员操作失误n 特定类型的硬件错误如特定类型的硬件错误如CPU缺点缺点n 忽然停电忽然停电3. 系统缺点的恢复:系统缺点的恢复:n 去除尚未完成的事务对数据库的一切修正去除尚未完成的事务对数据库的一切修正n 系统重新启动时,恢复程序要强行吊销系统重新启动时,恢复程序要强行吊销UNDO一切一切未完成事务。未完成事务。n 将缓冲区中已完成事务提交的结果写入数据库将缓冲区中已完成事务提交的结果写入数据库n 系统
11、重新启动时,恢复程序需求重做系统重新启动时,恢复程序需求重做REDO一切一切已提交的事务。已提交的事务。三、介质缺点三、介质缺点 1. 介质缺点称为硬缺点。硬件缺点使存储在外存中的数据部介质缺点称为硬缺点。硬件缺点使存储在外存中的数据部分丧失或全部丧失。分丧失或全部丧失。介质缺点比前两类缺点介质缺点比前两类缺点的能够性小得多,但破的能够性小得多,但破坏性大得多。坏性大得多。2. 介质缺点的常见缘由:介质缺点的常见缘由:n 磁盘损坏磁盘损坏n 磁头碰撞磁头碰撞n 操作系统的某种潜在错误操作系统的某种潜在错误n 瞬时强磁场干扰瞬时强磁场干扰3. 介质缺点的恢复介质缺点的恢复 装入数据库发生介质缺点
12、前某个时辰的数据副本装入数据库发生介质缺点前某个时辰的数据副本 重做自此时始的一切胜利事务,将这些事务已提交的结重做自此时始的一切胜利事务,将这些事务已提交的结果重新记入数据库果重新记入数据库7.4 恢复的实现技术恢复的实现技术恢复的根本原理非常简单恢复的根本原理非常简单冗余冗余恢复机制涉及的关键问题:恢复机制涉及的关键问题:1. 如何建立冗余数据如何建立冗余数据 数据转储数据转储backup 登录日志文件登录日志文件logging2. 如何利用这些冗余数据实施数据库恢复如何利用这些冗余数据实施数据库恢复建立冗余数据最常用的技术建立冗余数据最常用的技术数据转储数据转储登录日志文件登录日志文件7
13、.4.1 数据转储数据转储 转储是指转储是指DBA将整个数据库复制到磁带或另一个磁盘上保管将整个数据库复制到磁带或另一个磁盘上保管起来的过程。起来的过程。这些备用的数据文本称为后备副本或后援副本。这些备用的数据文本称为后备副本或后援副本。 缺点发生点缺点发生点 转储转储 运转事务运转事务 正常运转正常运转 Ta Ta Tb TfTb Tf 重装后备副本重装后备副本 重新运转事务重新运转事务恢复恢复 得到副本得到副本图图7.1 转储和恢复转储和恢复阐明:阐明: 当数据库遭到破坏后可以将后备副本重新装入,但重装后当数据库遭到破坏后可以将后备副本重新装入,但重装后备副本只能将数据库恢复到转储时的形状
14、,要想恢复到缺点发备副本只能将数据库恢复到转储时的形状,要想恢复到缺点发生时的形状,必需重新运转自转储以后的一切更新事务。生时的形状,必需重新运转自转储以后的一切更新事务。 转储的方法转储的方法静态转储静态转储动态转储动态转储或转储的方法或转储的方法海量转储海量转储增量转储增量转储1. 静态转储静态转储定义:静态转储是指在系统中无运转事务时进展转储。定义:静态转储是指在系统中无运转事务时进展转储。阐明:阐明: 转储开场时数据库处于一致性形状转储开场时数据库处于一致性形状 转储期间不允许对数据库的任何存取、修正活动转储期间不允许对数据库的任何存取、修正活动优点:实现简单优点:实现简单缺陷:降低了
15、数据库的可用性缺陷:降低了数据库的可用性 转储必需等用户事务终了转储必需等用户事务终了 新的事务必需等转储终了新的事务必需等转储终了 缺点发生点缺点发生点 静态转储静态转储 运转事务运转事务 正常运转正常运转 Ta Ta Tb TfTb Tf 重装后备副本重装后备副本 恢复恢复 利用静态复本进展数据库恢复利用静态复本进展数据库恢复2. 动态转储动态转储定义:动态转储是指转储期间允许数据库进展存取或修正。定义:动态转储是指转储期间允许数据库进展存取或修正。阐明:阐明: 转储操作与用户事务并发进展转储操作与用户事务并发进展 转储期间允许对数据库进展存取或修正转储期间允许对数据库进展存取或修正 转储
16、终了时后援副本上的数据并不能保证正确有效转储终了时后援副本上的数据并不能保证正确有效优点:优点: 不用等待正在运转的用户事务终了不用等待正在运转的用户事务终了 不会影响新事务的运转不会影响新事务的运转缺陷:不能保证副本中的数据正确有效缺陷:不能保证副本中的数据正确有效 Ta Ta Tb TfTb Tf 动 态 转 储动 态 转 储 运 转 事 务运 转 事 务 缺点发生点缺点发生点正常运转正常运转 登记日志文件登记日志文件 登记新日志文件登记新日志文件 转储日志文件转储日志文件 重装后备副本,然后利用转储的日志文件恢复重装后备副本,然后利用转储的日志文件恢复恢复到一恢复到一 致性形状致性形状利
17、用动态转储得到的副本进展缺点恢复:利用动态转储得到的副本进展缺点恢复: 需求把动态转储期间各事务对数据库的修正活动登记下来,需求把动态转储期间各事务对数据库的修正活动登记下来,建立日志文件建立日志文件 后备副本加上日志文件才干把数据库恢复到某一时辰的正确后备副本加上日志文件才干把数据库恢复到某一时辰的正确形状形状3. 海量转储与增量转储海量转储与增量转储海量转储海量转储: 每次转储全部数据库每次转储全部数据库增量转储增量转储: 只转储上次转储后更新过的数据只转储上次转储后更新过的数据海量转储与增量转储比较海量转储与增量转储比较 从恢复角度看,运用海量转储得到的后备副本进展恢复往往从恢复角度看,
18、运用海量转储得到的后备副本进展恢复往往更方便更方便 但假设数据库很大,事务处置又非常频繁,那么增量转储方但假设数据库很大,事务处置又非常频繁,那么增量转储方式更适用更有效式更适用更有效 转储形状转储形状动态转储动态转储静态转储静态转储转储转储方式方式海量转储海量转储动态海量转储动态海量转储静态海量转储静态海量转储增量转储增量转储动态增量转储动态增量转储静态增量转储静态增量转储7.4.2 登记日志文件登记日志文件Logging1. 定义:定义:日志文件日志文件(log)是用来记录事务对数据库的更新操作的文件。是用来记录事务对数据库的更新操作的文件。2. 日志文件的格式:日志文件的格式: 以记录为
19、单位的日志文件以记录为单位的日志文件 以数据块为单位的日志文件以数据块为单位的日志文件一、日志文件的格式和内容一、日志文件的格式和内容3. 日志文件内容日志文件内容 各个事务的开场标志各个事务的开场标志(BEGIN TRANSACTION) 各个事务的终了标志各个事务的终了标志(COMMIT或或ROLLBACK) 各个事务的一切更新操作各个事务的一切更新操作 注:每个事务开场的标志、每个事务的终了标志和每个更新操作均作为日志文件中的一个记录(log record)4. 每条日志记录的内容每条日志记录的内容 事务标识事务标识 操作类型插入、删除或修正操作类型插入、删除或修正 操作对象记录操作对象
20、记录ID、Block NO. 更新前数据的旧值对插入操作而言,此项为空值更新前数据的旧值对插入操作而言,此项为空值 更新后数据的新值对删除操作而言更新后数据的新值对删除操作而言, 此项为空值此项为空值二、日志文件的作用:二、日志文件的作用: 日志文件的可以用来进展事务缺点恢复和系统缺点恢复,并日志文件的可以用来进展事务缺点恢复和系统缺点恢复,并协助后备副本进展介质缺点的恢复。协助后备副本进展介质缺点的恢复。 与静态转储后备副本配合进展介质缺点恢复与静态转储后备副本配合进展介质缺点恢复 静态转储的数据已是一致性的数据。静态转储的数据已是一致性的数据。 假设静态转储完成后,仍能定期转储日志文件,那
21、么在出现介假设静态转储完成后,仍能定期转储日志文件,那么在出现介质缺点重装数据副本后,可以利用这些日志文件副本对已完成质缺点重装数据副本后,可以利用这些日志文件副本对已完成的事务进展重做处置。的事务进展重做处置。 这样不用重新运转那些已完成的事务程序就可把数据库恢复到这样不用重新运转那些已完成的事务程序就可把数据库恢复到缺点前某一时辰的正确形状。缺点前某一时辰的正确形状。 缺点发生点缺点发生点 静态转储静态转储 运转事务运转事务 正常运转正常运转 Ta Ta Tb TfTb Tf 登记日志文件登记日志文件 重装后备副本重装后备副本 利用日志文件恢复事务利用日志文件恢复事务 继续运转继续运转介质
22、缺点恢复介质缺点恢复 登记日志文件登记日志文件 三、登记日志文件三、登记日志文件 登记日志文件时必需遵照两条原那么:登记日志文件时必需遵照两条原那么:n 登记的次序严厉按并行事务执行的时间次序登记的次序严厉按并行事务执行的时间次序n 必需先写日志文件,后写数据库必需先写日志文件,后写数据库n 写日志文件操作:把表示这个修正的日志记录写到日志文件写日志文件操作:把表示这个修正的日志记录写到日志文件n 写数据库操作:把对数据的修正写到数据库中写数据库操作:把对数据的修正写到数据库中为什么要先写日志文件?为什么要先写日志文件?n 写数据库和写日志文件是两个不同的操作写数据库和写日志文件是两个不同的操
23、作n 在这两个操作之间能够发生缺点在这两个操作之间能够发生缺点n 假设先写了数据库修正,而在日志文件中没有登记下这假设先写了数据库修正,而在日志文件中没有登记下这个修正,那么以后就无法恢复这个修正了个修正,那么以后就无法恢复这个修正了n 假设先写日志,但没有修正数据库,按日志文件恢复时假设先写日志,但没有修正数据库,按日志文件恢复时只不过是多执行一次不用要的只不过是多执行一次不用要的UNDO操作,并不会影响数操作,并不会影响数据库的正确性据库的正确性7.5 恢复战略恢复战略不同缺点其恢复战略和方法也不一样。不同缺点其恢复战略和方法也不一样。7.5.1 事务缺点的恢复事务缺点的恢复1. 事务缺点
24、:事务在运转至正常终止点前被中止事务缺点:事务在运转至正常终止点前被中止2. 恢复方法恢复方法: 由恢复子系统应利用日志文件吊销由恢复子系统应利用日志文件吊销UNDO此事务已此事务已对数据库进展的修正。对数据库进展的修正。3.事务缺点的恢复由系统自动完成,不需求用户干涉。事务缺点的恢复由系统自动完成,不需求用户干涉。4. 事务缺点的恢复步骤:事务缺点的恢复步骤:1反向扫描文件日志即从最后向前扫描日志文件,反向扫描文件日志即从最后向前扫描日志文件,查找该事务的更新操作。查找该事务的更新操作。2对该事务的更新操作执行逆操作。即将日志记录中对该事务的更新操作执行逆操作。即将日志记录中“更更新前的值新
25、前的值Befor Image, BI写入数据库。写入数据库。 插入操作,插入操作, “更新前的值为空,那么相当于做删除操作更新前的值为空,那么相当于做删除操作 删除操作,删除操作,“更新后的值为空,那么相当于做插入操作更新后的值为空,那么相当于做插入操作 假设是修正操作,那么用假设是修正操作,那么用BI 替代替代 AIAfter Image3继续反向扫描日志文件,查找该事务的其他更新操作,继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处置。并做同样处置。4如此处置下去,直至读到此事务的开场标志,事务缺如此处置下去,直至读到此事务的开场标志,事务缺点恢复就完成了。点恢复就完成了。7.5
26、.2 系统缺点的恢复系统缺点的恢复1.系统缺点呵斥数据库不一致形状的缘由系统缺点呵斥数据库不一致形状的缘由:n 一些未完成事务对数据库的更新已写入数据库一些未完成事务对数据库的更新已写入数据库n 一些已提交事务对数据库的更新还留在缓冲区没来得及一些已提交事务对数据库的更新还留在缓冲区没来得及写入数据库写入数据库2.恢复方法恢复方法:n Undo 缺点发生时未完成的事务n Redo 已完成的事务3. 阐明:阐明: 系统缺点的恢复由系统在重新启动时自动完成,不需求用系统缺点的恢复由系统在重新启动时自动完成,不需求用户干涉。户干涉。4. 系统缺点恢复的步骤:系统缺点恢复的步骤:1正向扫描日志文件即从
27、头扫描日志文件,找出缺点正向扫描日志文件即从头扫描日志文件,找出缺点发生前曾经提交的事务,同时找出缺点发生时髦未完成的事发生前曾经提交的事务,同时找出缺点发生时髦未完成的事务。务。 Redo队列队列: 在缺点发生前曾经提交的事务在缺点发生前曾经提交的事务 T1, T3, T8. Undo队列队列:缺点发生时髦未完成的事务缺点发生时髦未完成的事务 T2, T4, T5, T6, T7, T9 .2对对Undo队列事务进展队列事务进展UNDO处置处置 反向扫描日志文件,对每个反向扫描日志文件,对每个UNDO事务的更新操作执行事务的更新操作执行逆操作:逆操作:T2, T4, T5, T6, T7,
28、T9 3对对Redo队列事务进展队列事务进展REDO处置处置 正向扫描日志文件,对每个正向扫描日志文件,对每个REDO事务重新执行日志文件事务重新执行日志文件登记的操作:登记的操作: T1, T3, T8.7.5.3 介质缺点的恢复介质缺点的恢复1. 装入最新的后备数据库副本,使数据库恢复到最近一次转装入最新的后备数据库副本,使数据库恢复到最近一次转储时的一致性形状。储时的一致性形状。 对于静态转储的数据库副本,装入后数据库即处于一致性形对于静态转储的数据库副本,装入后数据库即处于一致性形状状 对于动态转储的数据库副本,还须同时装入转储时辰的日志对于动态转储的数据库副本,还须同时装入转储时辰的
29、日志文件副本,利用与恢复系统缺点一样的方法即文件副本,利用与恢复系统缺点一样的方法即REDO+UNDO,才干将数据库恢复到一致性形状。,才干将数据库恢复到一致性形状。 缺点发生点缺点发生点 静态转储静态转储 运转事务运转事务 正常运转正常运转 Ta Ta Tb TfTb Tf 登记日志文件登记日志文件 重装后备副本重装后备副本 恢复恢复 利用静态转储副本将数据库恢复到一致性形状利用静态转储副本将数据库恢复到一致性形状 Ta Ta Tb TfTb Tf 动 态 转 储动 态 转 储 运 转 事 务运 转 事 务 缺点发生点缺点发生点正常运转正常运转 登记日志文件登记日志文件 登记新日志文件登记新
30、日志文件 转储日志文件转储日志文件 重装后备副本,然后利用转储的日志文件恢复重装后备副本,然后利用转储的日志文件恢复恢复到一恢复到一 致性形状致性形状利用动态转储副本将数据库恢复到一致性形状利用动态转储副本将数据库恢复到一致性形状2. 装入有关的日志文件副本,重做已完成的事务。装入有关的日志文件副本,重做已完成的事务。 首先扫描日志文件,找出缺点发生时已提交的事务的标识,首先扫描日志文件,找出缺点发生时已提交的事务的标识,将其记入重做队列。将其记入重做队列。 然后正向扫描日志文件,对重做队列中的一切事务进展重做然后正向扫描日志文件,对重做队列中的一切事务进展重做处置。即将日志记录中处置。即将日
31、志记录中“更新后的值写入数据库。更新后的值写入数据库。阐明:阐明:介质缺点的恢复需求介质缺点的恢复需求DBA介入介入DBA的任务的任务重装最近转储的数据库副本和有关的各日志文件副本重装最近转储的数据库副本和有关的各日志文件副本执行系统提供的恢复命令执行系统提供的恢复命令详细的恢复操作仍由详细的恢复操作仍由DBMS完成完成7.6 具有检查点的恢复技术具有检查点的恢复技术一、问题的提出一、问题的提出两个问题:两个问题: 搜索整个日志将耗费大量的时间搜索整个日志将耗费大量的时间 REDO处置:重新执行,浪费了大量时间处置:重新执行,浪费了大量时间二、处理方案二、处理方案具有检查点具有检查点check
32、point的恢复技术的恢复技术 在日志文件中添加检查点记录在日志文件中添加检查点记录checkpoint 添加重新开场文件添加重新开场文件 恢复子系统在登录日志文件期间动态地维护日志恢复子系统在登录日志文件期间动态地维护日志三、检查点技术三、检查点技术1.检查点记录的内容检查点记录的内容 建立检查点时辰一切正在执行的事务清单建立检查点时辰一切正在执行的事务清单 这些事务最近一个日志记录的地址这些事务最近一个日志记录的地址重新开场文件用来记录各个检查点记录在日志文件中的地址重新开场文件用来记录各个检查点记录在日志文件中的地址2. 动态维护日志文件的方法是周期性地执行如下操作:建立动态维护日志文件
33、的方法是周期性地执行如下操作:建立检查点,保管数据库形状。详细步骤是:检查点,保管数据库形状。详细步骤是:1将当前日志缓冲区中的一切日志记录写入磁盘的日志将当前日志缓冲区中的一切日志记录写入磁盘的日志文件上。文件上。2在日志文件中写入一个检查点记录。在日志文件中写入一个检查点记录。3将当前数据缓冲区的一切数据记录写入磁盘的数据库中。将当前数据缓冲区的一切数据记录写入磁盘的数据库中。4把检查点记录在日志文件中的地址写入一个重新开场文把检查点记录在日志文件中的地址写入一个重新开场文件。件。四、利用检查点的恢复战略四、利用检查点的恢复战略n 当事务当事务T在一个检查点之前提交,在一个检查点之前提交,
34、T对数据库所做的修正对数据库所做的修正已写入数据库已写入数据库n 在进展恢复处置时,没有必要对事务在进展恢复处置时,没有必要对事务T执行执行REDO操作操作 系统出现缺点时恢复子系统将根据事务的不同形状采取不同的恢复战略。T1Tc (检查点检查点)Tf(系统缺点系统缺点) REDOUNDOUNDO REDOT2T3T4T5不要不要REDO在检查点在检查点之前提交之前提交T2在检查点之后在检查点之后缺点点之前提交缺点点之前提交T3在缺点点在缺点点时还未完成时还未完成T4在缺点点在缺点点之前提交之前提交T5在缺点点在缺点点时还未完成时还未完成利用检查点方法进展恢复的步骤:利用检查点方法进展恢复的步
35、骤:2. 由该检查点记录得到检查点建立时辰一切正在执行的事务由该检查点记录得到检查点建立时辰一切正在执行的事务清单清单ACTIVE-LIST。n 建立两个事务队列建立两个事务队列n UNDO-LIST n REDO-LIST n 把把ACTIVE-LIST暂时放入暂时放入UNDO-LIST队列,队列,REDO队队列暂为空。列暂为空。 如有新开场的事务如有新开场的事务Ti,把,把Ti暂时放入暂时放入UNDO-LIST队列队列 如有提交的事务如有提交的事务Tj,把,把Tj从从UNDO-LIST队列移到队列移到REDO-LIST队列队列3. 从检查点开场正向扫描日志文件,直到日志文件终了从检查点开场
36、正向扫描日志文件,直到日志文件终了1.从重新开场文件中找到最后一个检查点记录在日志文件中从重新开场文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。的地址,由该地址在日志文件中找到最后一个检查点记录。4. 对对UNDO-LIST中的每个事务执行中的每个事务执行UNDO操作操作, 对对REDO-LIST中的每个事务执行中的每个事务执行REDO操作。操作。7.7 数据库镜像数据库镜像 介质缺点是对系统影响最为严重的一种缺点,介质缺点是对系统影响最为严重的一种缺点,严重影响数据库的可用性:严重影响数据库的可用性:n 介质缺点恢复比较费时介质缺点恢复比较费时n 为预防介质缺点,为预防
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中级模拟测试题及答案
- 婴儿智力考试题及答案
- 多面向广告传播的趋势与预测试题及答案
- 广告设计项目中的协作模式 试题及答案
- 2024年广告设计师创意策略分析试题及答案
- 2024年纺织品设计师证书的个人时间管理计划试题及答案
- 广告设计师考试全方位试题及答案
- 国际设计师职业发展的必要能力分析试题及答案
- 会务行政面试题及答案
- 理货人员考试题及答案
- 人教版小学数学五年级下册期末测试卷有完整答案
- 18文言文二则《囊萤夜读》公开课一等奖创新教学设计
- (正式版)JBT 106-2024 阀门的标志和涂装
- 2022高考数学全国1卷(原卷版)
- 土地永久性租赁合同
- 职工食堂外包项目服务方案
- 中国石油非油管理述职报告
- 天车总体结构设计-毕业论文
- 医院输血反应应急预案演练脚本
- 字节跳动中国行业分析
- 梅花落-唐杨炯
评论
0/150
提交评论