基于日志事务的数据库恢复技术

合集下载

数据库恢复技术

数据库恢复技术

数据库恢复技术---恢复内容开始---数据库恢复技术事务:是⽤户定义的⼀个数据库操作序列,这些操作要么全做,要么全不做,是⼀个不可分割的⼯作单位。

事物的 ACID 特性:原⼦性、⼀致性、隔离性、持续性。

恢复的实现技术:建⽴冗余数据 -> 利⽤冗余数据实施数据库恢复。

建⽴冗余数据常⽤技术:数据转储(动态海量转储、动态增量转储、静态海量转储、静态增量转储)、登记⽇志⽂件。

ACID特性1. 原⼦性(Atomicity)⼀个原⼦事务要么完整执⾏,要么⼲脆不执⾏。

这意味着,⼯作单元中的每项任务都必须正确执⾏。

如果有任⼀任务执⾏失败,则整个⼯作单元或事务就会被终⽌。

即此前对数据所作的任何修改都将被撤销。

如果所有任务都被成功执⾏,事务就会被提交,即对数据所作的修改将会是永久性的。

2. ⼀致性(Consistency)⼀致性代表了底层数据存储的完整性。

它必须由事务系统和应⽤开发⼈员共同来保证。

事务系统通过保证事务的原⼦性,隔离性和持久性来满⾜这⼀要求; 应⽤开发⼈员则需要保证数据库有适当的约束(主键,引⽤完整性等),并且⼯作单元中所实现的业务逻辑不会导致数据的不⼀致(即,数据预期所表达的现实业务情况不相⼀致)。

例如,在⼀次转账过程中,从某⼀账户中扣除的⾦额必须与另⼀账户中存⼊的⾦额相等。

3. 隔离性(Isolation)隔离性意味着事务必须在不⼲扰其他进程或事务的前提下独⽴执⾏。

换⾔之,在事务或⼯作单元执⾏完毕之前,其所访问的数据不能受系统其他部分的影响。

当我们编写了⼀条 update 语句,提交到数据库的⼀刹那间,有可能别⼈也提交了⼀条 delete 语句到数据库中。

也许我们都是对同⼀条记录进⾏操作,可以想象,如果不稍加控制,就会出⼤⿇烦来。

我们必须保证数据库操作之间是“隔离”的(线程之间有时也要做到隔离),彼此之间没有任何⼲扰。

4. 持久性(Durability)持久性表⽰在某个事务的执⾏过程中,对数据所作的所有改动都必须在事务成功结束前保存⾄某种物理存储设备。

SQL SERVER2005基于事务日志的备份与恢复深入研究①

SQL SERVER2005基于事务日志的备份与恢复深入研究①
2 . 1 日志截断
务 的事务 I D、事务名 以及 同一事务前一条 日志记录 的
L S N 等众 多信 息. 在 日志记录 中包含 同一事务上一条
日志文 件所包含 的 V L F s数 目,因为性 能等原 因
不可 能无 限增长,因此,为了重复利用有限 V L F s 的空 间,需要将一些对于保证事务 AC I D 属性无关紧要 的 日志记 录从 V L F s 中清除 出去( 日志截断) 或者将这些
VL F 1又 允许覆 盖重写的话,则会对 VL F 1再次写入.
次C h e c k p o i n t 时,日志文件 中还 未结束 的事务( 活动事 务1 当 中 最 老 的 一个 事 务 的起 始 L S N 和 最 后 一 次 C h e c k p o i n t 操作本 身的起始 L S N 两者 中的较小者. 对 于上面 的 日志文件 结构 图,最老活动事务( 事务 2 ) 的开 始L S N1 4 4 小于最后 C h e c k p o i n t 的起 始 L S N1 5 1 ,因此 Mi n i mu m R e c o v e r y L S N 就是事务 2的起始 L S N1 4 4 . 随着当前数据 库未提 交事务的不断提 交,日志文件 中 最老活动事 务的不断易主以及 C h e c k p o i n t 的不断执行,
2 0 1 3年 第 2 2卷 第 6 期
h t t p : / / w , 、 c - S — a . O 唱. c n
计 算 机 系 统 应 用
S Q L S e r v e r在写事务 日志到 日志文件时,先写第

Mi n i m u m R e c o v e y r L S N( Mi n L S N) 是在崩溃恢 复

数据库恢复的基本技术

数据库恢复的基本技术

数据库恢复的基本技术数据库恢复是指在数据库发生故障或损坏后,通过一系列的技术手段将数据库恢复到正常运行状态的过程。

数据库恢复技术主要包括备份和恢复、事务日志恢复以及物理和逻辑恢复等。

本文将分别介绍这些基本的数据库恢复技术。

1.备份和恢复技术备份和恢复是数据库恢复的最基本方法。

备份指将数据库的原始数据或者副本复制到其他存储介质中,以防止原始数据丢失或损坏。

常见的备份方式包括完全备份和增量备份。

完全备份是将整个数据库完全复制到备份介质,而增量备份则是只备份自上次备份以来发生变化的数据。

当数据库发生故障时,可以通过还原备份数据来恢复数据库。

2.事务日志恢复技术事务日志是数据库中记录每一次事务操作的日志,包括事务开始、事务结束和对数据库进行的修改操作。

事务日志恢复技术是通过分析事务日志记录来实现数据库的恢复。

当数据库发生故障时,可以通过重放事务日志中的操作来恢复数据库到故障发生前的状态。

事务日志恢复主要包括正向恢复和反向恢复两种方式。

正向恢复是从备份数据开始,按照日志记录的顺序逐步重放操作,直到故障点之后的操作。

反向恢复则是从故障点开始,按照日志记录的顺序逐步撤销操作,直到备份数据的状态。

3.物理恢复技术物理恢复是指将数据库的物理文件从损坏或错误状态恢复到正常状态的过程。

常见的物理恢复技术包括点备份和增量备份恢复、崩溃恢复以及校验和恢复等。

点备份和增量备份恢复是通过使用备份数据和增量备份数据来恢复数据库。

崩溃恢复是指在数据库崩溃、主机断电等突发情况下,通过恢复到最后一次一致状态来保护数据的完整性。

校验和恢复是通过校验和验证来检测和纠正物理文件的错误,以保证数据的一致性和完整性。

4.逻辑恢复技术逻辑恢复是指通过使用数据库的逻辑结构和操作来恢复数据库。

常见的逻辑恢复技术包括数据导入和导出、数据转换以及数据修复等。

数据导入和导出是将数据库中的数据导出为文本文件或其他格式,然后再将导出的数据导入到数据库中。

数据转换是指将数据库中的数据转换为其他数据库或应用程序所需的格式。

数据库异常处理与恢复技术

数据库异常处理与恢复技术

数据库异常处理与恢复技术数据库作为各类信息管理系统的核心,承载着众多重要数据。

然而,在长期运行的过程中,难免会遇到各种异常情况,如数据丢失、损坏或意外删除等,给信息系统的正常运行带来很大风险。

为了保障数据的安全和可靠性,数据库异常处理与恢复技术应运而生。

数据库异常处理主要涉及日常监控、异常检测和紧急处理等环节。

首先,为了及时发现异常情况,数据库管理员需要定期进行监控。

监控内容包括数据库连接情况、性能指标(如CPU使用率、内存利用率等)、错误日志等。

通过监控,管理员能够实时掌握数据库的运行状况,预警并及时解决潜在问题。

当异常情况发生时,数据库管理员需要进行异常检测,找出导致异常的原因。

常见的异常情况包括数据丢失、数据损坏和数据意外删除。

对于数据丢失和数据损坏,管理员可以通过数据库备份来进行恢复。

而对于数据意外删除这类错误操作,可以借助事务日志来实现数据的恢复。

在进行异常处理前,需先了解数据库事务的概念。

事务是指一系列对数据库的操作,这些操作是一个逻辑单元,要么都成功执行,要么都不执行。

事务的原子性要求任何一个操作失败将导致整个事务失败。

因此,在进行异常处理时,可以根据数据库事务的特性进行相应的操作与恢复。

一种常见的数据库异常处理方式是利用数据库备份进行恢复。

数据库备份是将数据库的数据和逻辑结构备份到其他存储介质(如硬盘、磁带等)的过程。

当出现数据丢失或者数据损坏的情况时,可以通过恢复数据库备份来进行修复。

备份恢复具有保护数据完整性的优点,但缺点是需要占用大量存储空间,并且恢复数据的过程较为耗时。

另一种常用的数据库异常处理方式是利用事务日志进行恢复。

事务日志是数据库服务器记录用户事务活动和修改数据库内容的文件。

当用户执行某个操作时,比如删除了某个表中的数据,这个操作会同时被记录在事务日志中。

一旦发现错误操作,管理员可以通过回滚事务、恢复错误前的状态来达到异常处理。

除了以上常见的异常处理方式,还可以利用数据恢复工具进行数据修复。

数据库恶意事务恢复日志系统

数据库恶意事务恢复日志系统
第 3 卷 第 1 期 7 2
V_ _7 0 3 I






2 1 年 6月 01
J n 2 l u e 01
No. 2 1
Co mpu e t rEng n e i g i e rn
软件 技 术 与数据 库 ・
文章编号:l o 32( 1l_03— 3 0 _ 48o1 2_ 3 0 2 ) 0
D0I 1 . 6 0s . 03 2 . 1.20 1 9 s 0 2
1 概 述
在越来越激烈 的信息战 中,以防御为主 的安全机 制不能 避免所有 的恶意攻击 ,恶意 事务对数据库 攻击成功在某 种程
度上不可避 免…。传统 的恢复 技术 已不足 以保 护数 据库的安
作者简介 :陈 敏(94 ) 18 - ,女 ,硕 士 ,主研 方向 :数据库安全 ; Ema :ce_ i3 t c o . - i hnm n@c p. rc l g cn n
提 出扩展 的数据依赖模型 ,文献[ 提出混合 日 5 ] 志分段(yr H bi d
L gS g na o) o emett n的方法 , i 但均只 实现 了专 用环境下对读操作
p r :S L sa me t ft t g est e ifr t n stn ,wre lg gn rtra d ra o e eao.Srcue ey L n ug (Q at Q tt ns ir i ,sniv noma o et g i o e eao n ed lg g nrtr t trd Qu r a g aeS L) s e la n i i i t u
陈 榕 ,高级工程师、硕士 ;王云帆 ,工程师 收稿 日 : 001—4 期 2 1— 1 2

数据库恢复技术的探讨

数据库恢复技术的探讨
少 到 最小 。
随着 网络 的发 展 和分 布式 数 据 库 的 E益 广泛 应 l 用 , 关分 布 式数 据库 和 并行 数 据 库 的备份 恢 复 策略 有 也成 为研 究 热点 。计 算机 系 统与其 他任 何设 备一样 容
1 数据 库 系统 故 障分类
( ) 务 故 障 。某 个 事 务在 运行 过 程 中 由于种 种 1事
据 库恢 复到 故 障发 生前 的 某个 一致 的状 态 。论述 数据 库故 障恢 复 的基 本 思想 , 对数 据库 的恢 复 实现 技术 进行探 讨 。
关 键 词 : 据 库 ; 障 ; 复 ; 储 器 数 故 恢 存
0 引言
个 一 致状 态 , 并将 崩 溃后 的数据 库 不 能使用 的时 间减
恢复性 可分 为如下 三种 :
条更 新 日志 记 录 记 录 了一个 事 务对 数 据 库 的

次 wi re操作 , t 它包 括如 下信 息 :
事 务标 识 符 :执 行 更新 操 作 的事 务 的惟 一 标 识
符。
操作类型: 指明更新是插入 、 删除 , 还是修改。
操 作 对 象 : 更 新 的 数 据对 象 的惟 一 标 识 , 常 被 通 是 数据对 象 在磁盘 上 的位置 。

旧值 : 数据 对 象更新 前 的值 。对 插入操 作 而言 , 此
项 为空 。
( ) 失性 存储 器 , 括主 存储 器 、 速缓 冲存 储 1易 包 高 器等 。存 取速 度很 快 , 并且 可 以直 接存 取 所存 储 的任 何数据 项 。系统 发 生故 障 时 , 储 在易 失性 存储 器 上 存 的数据将 丢失 。 ( ) 易失性 存 储器 , 括磁 盘 、 带 等 。磁 盘 一 2非 包 磁 般作 为联机 存储 器 , 带通 常作 为后 援 存储 器 。磁 盘 磁 比主存 可靠性 强但 比磁 带可 靠性 弱 , 两者 都可 能 出 但 现故障, 导致 信 息丢 失 。除 非 出现介 质 故 障和恶 意 攻 击, 否则非 易失存 储器 中的信息不 会丢失 。 ( ) 定存 储 器 是 一 种 理想 的存 储 器 , 中 的信 3稳 其 息永 不丢 失 。“ 不 ” 永 是相 对 的 , 理论 来说 是无 法保 从 证 的。尽 管理论 上 不 能得 到稳 定存 储 器 , 可 以使用单一逻辑 储数据库 的存储设备故障。 这类故障比前两类故障发 工作单元的一个程序执行单元 。 从数据库管理系统 内

数据库备份与恢复技术手册

数据库备份与恢复技术手册

数据库备份与恢复技术手册数据库备份与恢复是数据库管理中至关重要的一部分,它涉及到数据的安全性和可靠性。

本技术手册旨在为数据库管理员提供数据库备份与恢复的详细步骤和技术要点,确保数据库能够在灾难事件发生后尽快恢复,并保护数据的完整性。

第一部分:备份1. 定期备份数据库备份应该成为日常操作的一部分。

建议将备份计划定期安排,以确保重要数据的安全。

可以根据业务需求和数据敏感性来决定备份频率,如每天、每周或每月。

2. 分级备份分级备份包括完全备份和增量备份。

完全备份将整个数据库备份到磁盘或磁带上,而增量备份只备份自上次备份以来发生的变化部分。

通过分级备份可以节省存储空间和备份时间。

3. 存储介质选择选择适合的存储介质对于数据库备份至关重要。

可选的存储介质包括本地磁盘、网络存储设备和云存储服务。

需要考虑存储容量、读写速度和数据安全性等因素。

4. 备份验证备份完成后,验证备份文件的完整性和可用性至关重要。

可以通过恢复一个样本数据库来确认备份文件是否可以成功恢复。

第二部分:恢复1. 选择恢复点当数据库出现故障或数据丢失时,需要选择一个合适的恢复点。

可以根据备份的时间戳或事务日志来确定最近的备份点。

2. 数据库还原数据库还原是将备份数据重新加载到数据库中的过程。

根据选择的恢复点,可以使用备份文件进行完全还原或增量还原。

还原过程需要保证数据库事务的一致性。

3. 日志恢复在数据库故障或崩溃后,可能存在未提交的事务或部分事务记录丢失的情况。

通过应用事务日志,可以将数据库恢复到最近的一致状态。

4. 测试恢复过程在实际灾难发生之前,测试恢复过程是非常重要的。

定期进行恢复测试,可以帮助发现备份和恢复过程中的潜在问题,并及时进行修复。

第三部分:最佳实践1. 多重备份为了数据安全和可靠性,建议实施多重备份策略。

除了常规的定期备份,可以考虑使用磁带库、远程备份和异地备份等方式。

2. 数据库容灾数据库容灾是一种通过在远程地点建立热备份数据库来保障系统可用性的方法。

数据库恢复技术有哪些

数据库恢复技术有哪些

数据库恢复技术有哪些数据库恢复技术有:1、数据转储,即DBA定期将整个数据库复制到磁带或另⼀个磁盘上保存起来的过程。

2、登记⽇志⽂件,⽇志⽂件是⽤来记录事务对数据库的更新操作的⽂件,设⽴⽇志⽂件可以进⾏事务故障恢复、系统故障恢复、协助后备副本本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

数据库恢复概述 数据库管理系统必须具有把数据库从某⼀错误状态恢复到某⼀已知的正确状态的功能,这就是数据库的恢复。

恢复⼦系统是数据库管理系统的⼀个重要组成部分,⽽且还相当庞⼤,常常占整个系统代码的百分之⼗以上。

数据库系统采⽤的恢复技术是否⾏之有效,不仅对系统的可靠程度起着决定性作⽤,⽽且对系统的运⾏效率也有很⼤影响,是衡量系统性能优劣的重要指标。

<h梵蒂冈介质故障 系统故障称为软故障,介质故障称为硬故障。

硬故障指外存故障,如磁盘损坏、磁头碰撞、瞬时强磁场⼲扰等。

这类故障将破坏数据库或部分数据库,并影响正在存取这部分数据的所有事务。

计算机病毒 总结各类故障,对数据库的影响有两种可能性。

⼀是数据库本⾝被破坏。

⼆是数据库没有被破坏,但数据可能不正确,这时由于事务的运⾏被⾮正常终⽌造成的。

恢复的实现技术恢复机制涉及两个关键问题:1、如何建⽴冗余数据;2、如何利⽤这些冗余数据实施数据库恢复。

建⽴冗余数据最常⽤的技术是数据转储和登记⽇志⽂件。

通常在⼀个数据库系统中,这两种⽅法是⼀起使⽤的。

数据转储数据转储是数据库恢复中采⽤的基本技术。

所谓转储即DBA定期将整个数据库复制到磁带或另⼀个磁盘上保存起来的过程。

这些备⽤的数据成为后备副本或后援副本。

转储可以分为静态转储和动态转储。

静态转储是在系统中⽆运⾏事务时进⾏的转储操作。

即转储操作开始的时刻,数据库处于⼀致性状态,⽽转储期间不允许对数据库的任何存取、修改活动。

显然,静态转储得到的⼀定是⼀个数据⼀致性的副本。

动态转储是指转储期间允许对数据库进⾏存取或修改。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于日志的数据库恢复
数据库系统中的非灾难性故障所导致的数据不一致问题,常用的解决方法是基于日志的恢复技术。

查阅资料,研究探讨此类恢复技术的基本方法及其实现算法。

事务日志及在数据库恢复中的作用
一、事务日志的工作原理
实际上,事务中的数据操作首先在数据库缓冲区中进行,缓冲区中有用来记录操作活动的数据页和日志页。

当事务运行到Commit Transaction时,日志页从缓冲区写入磁盘,而后数据页再从缓冲区写入磁盘,即遵循“先写日志”的原则。

如果先写了日志而没有来得及修改实际数据,则在下一次的正常启动或恢复过程中,DBMS检查日志里的记录,将数据的更新补录到数据库中。

因此遵循“先写日志”的原则,可以严格地保持事务日志和实际数据更新的一致性。

事务的所有日志记录都链接在一起,当系统出现故障时,通过恢复(前滚)或撤消(回滚)事务能够最大限度地恢复数据库。

二、基于事务日志的数据库恢复思路
假如某数据库系统在T1时刻做了一次完整的备份,由于某种原因在T2时刻(T2>T1)出现了故障,丢失了重要的数据。

一般的数据恢复思路是利用T1时刻的数据备份将数据库恢复到T1时刻的状态,T1至T2时间段更新的数据则丢失,即做到不完全恢复。

实际上如果充分利用T1至T2 时间段的事务日志,我们完全可以将数据库恢复到T2时刻的状态,即完全的数据库恢复。

因为T1至T2时间段的事务日志是按照时间顺序详细记录了这一时间段的事务处理信息,如图所示。

如果我们在T1状态的基础上,重新依次运行这些事务,就可以将数据库由T1状态逐步推演到T2时刻的状态,实现数据库的完整恢复。

此外,还可以根据需要在T1与T2之间某个时间点停留,即把数据库恢复到过去某个特定的时间点。

基于事务日志的数据库恢复技术
一、利用事务日志进行数据库恢复的操作步骤
当数据库出现故障时,恢复到当前故障点应按下面的次序进行操作:
①备份当前活动事务日志;
②还原星期一晚上22:00 创建的数据库完全备份;
③依次还原自星期一晚上22:00 后创建的差异数据库备份,直至星期二9:00 的差异备份为止;
④依次应用星期二9:10 、9:20 创建的事务日志备份
⑤应用步骤①创建的当前活动事务日志作最后还原。

ARIES 数据库恢复算法的分析
一、ARIES 简介
ARIES(Algorithm for Recovery and Isolation Exploiting Semantics) ,该算法出现于IBM 的Almaden 研究中心在1992年完成的一项名为Starburst 的大型数据库原型系统研究项目中,该算法基于后备复本和日志。

它试图以概念上相对简单且系统化的方式,提供一套能确保事务原子性和持久性的、具有良好性能的的恢复管理算法。

它能与绝大多数并发控制机制很好的协调工作。

ARIES 数据结构由日志记录、页结构、事务表与脏页表四部分组成。

二、ARIES恢复管理算法综述
当系统崩溃后重启时,恢复管理器将被激活,并按以下三个阶段进行处理:–分析(Analysis):鉴别崩溃发生时,缓冲区中的脏页和当时仍活跃的事务。

–重做(Redo):重做从日志的适当起点(比如,被修改的最早脏页对应日志记录)开始的所有动作,恢复系统到崩溃时的DB状态。

–撤消(Undo):撤消上次崩溃时所有未提交事务的动作效果,使DB只反映已提交事务的影响。

三、一个简单的ARIES日志片段示例
分析阶段将能分析识别出:
–崩溃时仍活跃事务:T1,T3;
–已提交事务T2
–崩溃时的脏页P1、P3和P5。

在重做阶段,提交事务T2的所有动作,必须按日志顺序重新应用一次。

最后,在撤销阶段,T1和T3的所有动作,必须按日志记录的相反顺序,依次逐个
撤销。

四、AREIS数据结构
ARIES数据结构由日志记录、页结构、事务表与脏页表四部分组成。

1、日志记录
日志既可为己提交事务的重做(redo)和未提交事务的撤消(undo)提供信息源,
也为介质恢复提供途径。

ARIES要对任何事务的可能引起可恢复数据对象发生改变
的操作作日志,并采用先记后写的WAL协议,日志记录之数据结构包括以下数据
域:
(1)日志顺序码(log sequence number):以下简称LSN
(2)日志类型( Type):通常有四种,即常规更新记录(Update)、补偿日志记录
(compensation log record 简称CLR)、与提交协议有关的记录(如二步提交协议中的准备提交)或非事务相关记录(如OS文件的返回)。

(3)事务标识符(Transaction ID):标识引发所记录操作的事务。

(4)前日志顺序码(Previous LSN):表示由同一事务写入的前一个日志记录的日
志顺序码。

(5)页标识符(Page ID):用于标识“更新”与“补偿”记录中的更新所作用的
页。

通常由对象标识符与页在对象中的页序号两部分组成。

(6)撤消下一个日志顺序码(UndoNext LSN):仅在补偿日志记录中使用,其给
出事务卷回过程中该事务要处理的下一个日志记录的LSN.
(7)数据(Data):用以记录所实施的更新的redo/undo数据。

2、页结构
页数据结构指在数据库的每一页辟出一块小空间作为页日志顺序码(Page-LSN)域,用以描述在该页上所作的最近的更新或补偿操作所对应的日志记录的LSN.页结
构由单一的数据域页日志顺序码组成。

3、事务表
设立该表主要用于在系统失效后的重启动恢复时跟踪记录活动事务的状态,从而为该过程要进行的撤消提供依据。

事务表的数据结构包括四个域。

其中事务标识
符和撤消下一日志顺序码同前述含义,另两个域为:
(1)状态(state):用于表示活动事务的可能状态,由于ARIES对事务的提交采用一
种类二阶段提交的协议,所以活动事务有两种可能的状态,其一为准备提交而未提
交状态,称为准备态(prepared);另一种为未准备提交(unprepared)状态。

(2)最后的日志顺序码(Last LSN):表示该事务所写的最后一个日志记录的日志顺
序码。

4、脏页表
脏页表中的每一数据项包含页标识符(Page ID)和恢复日志顺序码(Recovery LSN)两个数据域。

前者用于标识相应的脏页,后者用于指明有关该页的可能未存到稳定
存储器中的更新在日志中的开始位置。

脏页表有两种用途。

一为在系统正常运行过
程中用作缓冲区(buffer pool)脏页表,且系统在作检查点(checkpoint 或CHKPT)时,
将该表包含在其记录中。

另一用途是作为重启动(restart)脏页表以记录系统失效时
可能的脏页。

恢复前的准备工作
为满足可能的恢复之需,数据库系统在正常运行过程中,ARIES除要求系统作后备复本和为更新操作作日志外,还要设立保存点和检查点。

一、保存点
保存点( SavePoint)可在事务正常运行过程的任一点设立,每当设立保存点时,相应事务最近的日志记录的LSN被作为保存日志顺序码(Save KN)存入虚拟内存中。

以后在事务运行过程中,系统或事务均可要求将事务卷回(rollback)到任一个有效(outstanding)保存点,只要提供相应的Save KN信息。

二、检查点
由于遵循WAL规则,即使事务提交,也可能未写入稳定数据库,为减少系统在重启动恢复时的工作量,一般的DBMS在系统正常运行过程中在日志中设置检查点(checkpoint)。

检查点可以是提交一致(commit-consistent)、缓冲一致(cache-consistent)或模糊(fuzzy)形式。

ARIES 采用的模糊形式不要求作检查点时所有缓冲脏页被强制写入外存,而是借助于缓冲管理上的窃取策略,即充分利用Buffer Manager 或DB Writer 等一些系统进程在后台持续地将脏页刷出,所以检查点可在事务运行过程中异步地设立,提高了系统在作检查点时的运行效率,显得更加合理与灵活。

ARIES的检查点以写开始检查点(begin-CHKPT)日志记录为开始,然后作一个结束检查点(end-CHKPT)日志记录,在该记录中包括正常运行过程中的事务表、缓冲区脏页表以及文件映射信息(如表空间、索引空间、事务拥有的锁信息等),待所有相关的检查点信息刷入外存时,再在外存中一特定的被称为主记录(master-record)的位置存入该检查点的begin-CHKPT 的日志记录顺序码,作为重启动恢复程序的入口。

算法描述
一、分析阶段
分析阶段至少需要完成以下三个基本任务:
–确定重做阶段的日志扫描起点。

–确定崩溃时,缓冲区中的脏页。

–识别崩溃时,仍活跃的、必须撤消的事务。

分析阶段扫描处理算法
二、REDO阶段
主要任务:重复历史(重构崩溃时的状态) 具体算法描述
三、UNDO阶段处理描述。

相关文档
最新文档