数据库原理_基于日志的恢复_第1页
数据库原理_基于日志的恢复_第2页
数据库原理_基于日志的恢复_第3页
数据库原理_基于日志的恢复_第4页
数据库原理_基于日志的恢复_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、基于日志的恢复基于日志的恢复日志文件的作用日志文件的作用事务故障恢复日志文件系统故障恢复介质故障恢复后备副本日志文件的结构日志文件的结构以记录为单位日志文件以数据块为单位事务标识事务运行时间对数据库对象的操作事务操作前后的值日志记录的缓存日志记录的缓存日志记录日志缓存区(主存)日志记录稳定存储器先写日志规则(WAL, write-ahead logging)发生系统故障 保证事务原子性WALWAL规则规则在日志记录输出到稳定存储器后事务Ti进入提交状态在日志记录输出到稳定存储器前所有与事务Ti 有关的日志记录必须已被输出到稳定存储器。在主存中的数据块输出到数据库前所有与该数据块中数据有关的日志

2、记录必须已被输出到稳定存储器。故障的恢复故障的恢复已完成的所有事务包含日志文件未完成的所有事务不含(Redo)重做newValue(Undo)撤销oldValue顺序扫描日志文件故障造成数据库不一致状态具有检查点的恢复技术具有检查点的恢复技术搜索过程太耗时检查点记录重复Redo正在执行的事务清单最近一个日志记录的地址重新开始文件动态维护日志文件动态维护日志文件建立检查点保存数据库状态日志缓存中的日志记录写入磁盘的日志文件在日志文件中写入一个检查点记录数据缓冲的数据记录写入磁盘的数据库检查点记录在日志文件中的地址写入一个重新开始文件检查点方法检查点方法T1T2T3T4T5检查点故障点检查点进行恢

3、复的步骤检查点进行恢复的步骤重新开始文件中找到最后一个检查点记录在日志文件中的地址检查点建立时刻所有正在执行的事务清单 ACTIVE- LISTUNDO- LISTREDO- LISTACTIVE- LIST从检查点开始正向扫描日志文件对 UNDO- LIST 中的每个事务执行 UNDO 操作对 REDO- LIST 中的每个事务执行 REDO 操作 若系统故障中造成数据库不一致状态,是因为未完成事务对数据库的更新可能已经写入数据库,未完成的事务在没有commit的情况下,应该没有对数据库进行更新,为何要undo?Q & AQ & A 具有检查点的日志恢复步骤是什么? 若系统故障中造成数据库不一致状态,是因为未完成事务对数据库的更新可能已经写入数据库,未完成的事务在没有commit的情况下,应该没有对数据库进行更新,为何要undo? 如果系统故障造成数据库非正常关闭,在下一次open的时候自动进行recover操作,未提交的操作会被回滚,提交的操作会根据日志进行恢复。只要某个事务修改了数据,那么更新前的原有数据就会被写入一个回滚段或undo段,在你提交之前,其他会话查询的是undo段,实际上你的操作已经写在数据块上了,但是会有标志,表示未提交,只有你的会话可见。你commit之后这个标志会被更改,操作会写入redo日志。Q & AQ &am

温馨提示

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

评论

0/150

提交评论