




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于日志的数据库恢复数据库系统中的非灾难性故障所导致的数据不一致问题,常用的解决方法是基于日志的恢复技术。查阅资料,研究探讨此类恢复技术的基本方法及其实现算法。事务日志及在数据库恢复中的作用一、事务日志的工作原理实际上,事务中的数据操作首先在数据库缓冲区中进行,缓冲区中有用来记录操作活动的数据页和日志页。当事务运行到Commit Transaction时,日志页从缓冲区写入磁盘,而后数据页再从缓冲区写入磁盘,即遵循“先写日志”的原则。如果先写了日志而没有来得及修改实际数据,则在下一次的正常启动或恢复过程中,DBMS检查日志里的记录,将数据的更新补录到数据库中。因此遵循“先写日志”的原则,可以严格地保持事务日志和实际数据更新的一致性。事务的所有日志记录都链接在一起,当系统出现故障时,通过恢复(前滚)或撤消(回滚)事务能够最大限度地恢复数据库。二、基于事务日志的数据库恢复思路假如某数据库系统在T1时刻做了一次完整的备份,由于某种原因在T2时刻(T2T1)出现了故障,丢失了重要的数据。一般的数据恢复思路是利用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)的位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年终止写字楼租赁合同协议范本
- 门面续签合同范本
- 购买电脑耗材合同范本
- 家具清仓转让合同范本
- 病人用品租赁合同范本
- 单位购柴油合同范本
- 轨道热熔合同范本
- 废旧手表销售合同范本
- 乡村公路业绩合同范本
- 化脓性脑膜炎脑脊液漏护理查房
- 学习中心教学论
- GB/T 43241-2023法庭科学一氧化二氮检验气相色谱-质谱法
- 小儿腹泻护理查房
- GB/T 42653-2023玻璃高温黏度试验方法
- 代持股权挂名法人协议书
- 普通化学(第五版)浙江大学普通化学教研组P课件
- 医疗保障法律法规行政处罚司法审视及建议PPT学习培训课件
- GB/T 9999.2-2018中国标准连续出版物号第2部分:ISSN
- GB/T 6543-2008运输包装用单瓦楞纸箱和双瓦楞纸箱
- GB 19522-2004车辆驾驶人员血液、呼气酒精含量阈值与检验
- GB 10238-1998油井水泥
评论
0/150
提交评论