- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARIES算法:数据结构 Data 这是描述欲更新的redo和/或undo数据。CLR只包含redo信息,因为它们不能undo UndoNxtLSN 只在CLR中出现,它指的是回滚阶段要处理的下一个本事务的日志记录,也即UndoNxtLSN是当前日志正在弥补的日志记录的PrevLSN的数值。如果已经没有日志记录需要undo,该数据域就会是0 页面结构 数据库的每个页都有page_LSN域。它包含描述对该页面所做的最近更新日志记录的LSN。在恢复的Redo阶段,LSN值小于等于page_LSN值的记录将不在这页上redo ARIES算法:数据结构 事务表 事务表记录事务的状态 TransID:事务的ID State:事务的提交状态 LastLSN:事务所写的最后一条LSN UndoNxtLSN:在回滚阶段下一个记录的LSN。如果本事务的最近日志记录是一个可undo的非CLR记录,这个字段的值就会被设为LastLSN。如果最近日志记录是CLR,此字段的值就设为此CLR的UndoNxtLSN的值 ARIES算法:数据结构 脏页表 包含一个在数据库缓冲区中已更新的列表, PageID+pageLSN+ RecLSN RecLSN用于标识日志记录,这些日志记录的磁盘页版本没有实施更新 当一页被插入到脏页表时(当他首次在缓冲池中被修改时),RecLSN的值被设置成日志的当前末尾 只要页被写入磁盘,该页就被从脏页表中移除。 检查点日志记录 包含检查点发生时脏页和活动事务的列表,同时记录每个事务的LastLSN ARIES算法:三个原理 先写日志 在将更新的数据库对象的修改写入磁盘之前,先将对应的日志记录写入稳存 恢复修改的记录数据 在回滚某些事务时,如果出现对数据库的改变,则需要在日志中记录这些改变,保证在重复进行重新启动时不需要重复这些操作 重做时重复历史 在崩溃后进行重新启动时,重做崩溃前的所有操作,使系统恢复到崩溃时的状态,然后回滚崩溃时还在执行的事务已完成的操作 ARIES算法:三个过程 分析过程 决定哪些事务要undo,哪些页在崩溃时是脏的,以及redo应从哪个LSN开始 Redo过程 从分析过程决定的位置开始,执行一个redo,重复历史,将数据库恢复到发生崩溃前的状态 Undo过程 回滚在发生崩溃时那些不完整的事务 ARIES算法:系统故障恢复 分析 重做 撤销 崩溃时活动事务最早的日志记录 分析结束时脏页中最小的recLSN 最近的检查点(包括了脏页和活动事务的列表,并记录了事务的LastLSN) 崩溃 日志 ARIES算法中恢复的三个阶段 ARIES算法:分析过程 找到最后完整检查点日志记录,并从该记录开始读入脏页表 将RedoLSN设置为脏页表中页的RecLSN的最小值,如果没有脏页,就将其设置为检查点日志记录的LSN 将要被undo的事务列表undo-list设置为检查点日志记录中的事务列表及这些事务的LastLSN 从检查点继续向前扫描,每找到一个不在undo-list中的事务日志记录,就将其添加到undo-list,每找到一个事务的end日志记录,就将其从undo-list中删除 ARIES算法:Redo过程 Redo过程通过重演所有没有在磁盘页上反映的动作来重复历史 Redo过程从RedoLSN开始向前扫描日志,该点之前的日志记录已经反映在磁盘数据库页上 只要Redo过程找到一个update日志记录,它就执行如下动作: 如果该页不在脏页表中(更新已经实施),或者该update日志记录的LSN小于脏页表中该页的RecLSN(没有实施,但之后还有更新),Redo过程就跳过该日志记录 否则Redo过程就从磁盘调出该页,如果其PageLSN小于该日志记录的LSN,重做该日志记录 ARIES算法:Undo过程 Undo过程反向扫描日志,取消所有undo-list中的事务 如果找到一个CLR,它用UndoNextLSN字段跳过一个已经回滚了的事务日志。否则,它用事务日志的PrevLSN字段查找下一个要被撤消的事务日志 每当一个update日志记录被用于撤消,Undo过程产生一个包含undo执行动作(必须是物理逻辑的)的CLR,并将CLR的UndoNextLSN设置为update日志记录的PreLSN值 SQL SERVER恢复技术 SQL Server:最小恢复LSN MinLSN是下面这些LSN中的最小LSN: 检查点起点的 LSN 最旧的活动事务起点的 LSN LSN 141 LSN 142 LSN 143 LSN 144 LSN 145 LSN 146 LSN 147 LSN 148 开始 Tran1 开始 Tran2 更新 Tran2 检查点 更新 Tran1 提交 Tran1 检查点 更新
您可能关注的文档
- VFB程序设计教程教学课件第七章Visual FoxPro程序设计.ppt
- Visual C#.NET 程序设计模块2-2结构化程序设计.ppt
- Visual C++.NET 程序设计第四章对话框及Windows常用控件.ppt
- Visual FoxPro应用基础与面向对象程序设计教程-SQL关系数据库查询语言.ppt
- XX系列服务器产品20XX年度整合行销品牌推广拟案.ppt
- 保障与安全攻击6网络协议攻击.ppt
- 保障与安全数据库安全.ppt
- 北京电大VisualBasic程序设计第3章应用程序接口设计及代码编写.ppt
- 程序设计中的基本算法.ppt
- 大学计算机课件第4章电子表格系统Excel2003.ppt
最近下载
- 八年级生物(上)第六章 《人体生命活动的调节》单元检测卷含答案解析.docx
- 一种水生萤火虫室内规模化饲养装置.pdf VIP
- D301-1~3 室内管线安装(2004年合订本).docx VIP
- 2025至2030中国电子树脂行业产业运行态势及投资规划深度研究报告.docx
- 三一中型挖掘机SY335BH SIC_产品手册用户使用说明书技术参数图解图示电子版.pdf VIP
- 全科教学模式探讨及实践(安徽医科大学第一附属医院 全科医学科 全科医学教研室 唐海沁).pdf VIP
- 最全(一)公安局辅警招聘考试题库.doc VIP
- 直接引语和间接引语课件详细.ppt VIP
- 西式面点师(初级)课件 项目2 面包制作.pptx
- 发酵设备课程设计——1000m³内循环气升式生物酒精发酵罐设计.doc VIP
文档评论(0)