华南理工大学《数据库》(研究生)复习提纲2讲解.docx

华南理工大学《数据库》(研究生)复习提纲2讲解.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华南理工大学《数据库》(研究生)复习提纲2讲解

故障类型分为一下三种:1.事务失败:包括逻辑错误(一个事务由于其内部错误,导致不能正常结束如是不内部的死循环)和系统错误(系统进入一个不良如死锁等状态,导致事务无法执行,但该事务在以后的某个时间是可以重新执行的);2.系统崩溃:如电源问题、其他软硬件引起的系统停机,导致缓存、内存等易失存储设备数据丢失,但是非易失存储设备数据一般不会丢失;3.硬盘故障:人为或是自然灾害等因素造成的硬盘损害导致数据的丢失。故障恢复策略:事务故障和系统故障的恢复方法是:撤销故障发生时未完成事务对DB的所有影响,确保事务的原子性,重做已经成功提交的事务,实现事务的持久性,以上操作一般是由系统在重启时自动完成,不需要用户干预。灾难性或磁盘失败恢复策略:使用归档存储设备(通常是磁带)上的数据库备份进行恢复,并从备份日志重新应用或者重做已经提交的事务的操作来重构故障钱数据库的最新状态。缓存目录:跟踪哪些数据项在缓冲区中。脏位(dirty bit ):每个缓冲区都和一个脏位相关联,它用来指示该缓冲区是否有所修改。钉住拔去位(pin-unpin bit):即如果缓冲中的页目前还不能写回到磁盘,则称该页被钉住(该位的值为1)。X所在的缓冲块Bx上的操作output(Bx)不需要在write(X)执行后立即执行,因为块Bx可能包含其他仍在被访问的数据项原位更新(in-place update):将缓冲区写回磁盘原来的位置,因而会覆盖被修改的数据项在磁盘上的旧值(必须使用日志帮助);镜像更新(Shadow update):将缓冲区写到磁盘不同的位置,可以保存数据项的多个版本;非潜入(no-steal):缓存中被事务更新的某个页在事务提交前不能写回磁盘;潜入(steal):允许事务在提交前将已经更新的缓冲区写回磁盘;强制(force):事务所有的已经更新的页在事务提交时被立即写回磁盘;非强制制(no-force):无事所有做的更新的页在事务提交时不立即写回磁盘。延迟更新(NO-UNDO/REDO 算法):所有事务的更新都记录在局部事务的工作区(或缓存区),只有在事务到达提交点后才真正更新磁盘上的数据库。即时更新:事务的某些操作达到提交点前被写入数据库,恢复时需要UNDO/REDO,如果事务在达到提交点前所有的更新已被写入数据库,需要算法UNDO/NO-REDOWAL是一个日志协议规则,明确定义了先写日志的思想,内容如下:1.先写日志,无论是在缓冲区还是在磁盘等上面都这样子,这是保证原子性的关键;2.在事务提交前写相关的所有日志记录到稳定存储介质,这是保证持久性的关键,确保我们能基于日志重建提交事务。一种日志是把写操作记录下来;另外一种日志形式中,把更新的东西取为一个物理块,则一个日志记录包含了三部分前像、后像、事务状态检查点是为了在系统恢复过程中不要每次撤销和重做事务时从日志文件首条开始而在日志文件中增加的检查点标志记录,使得系统恢复过程中的撤销和重做事务都只是从最近的一个检查地点开始做,可大量减小,降低恢复所需的时间和工作量,分为静态检查点(建立检查点时不允许执行事务)和动态检查点。ARIES( Algorithm for Recovery andIsolation Exploiting Semantics )日志的恢复管理算法综述1.采用基于潜入/非强制的公职模式;2.使用日志顺序号LSN标志日志记录,在数据库页中用LSN标志哪些更新已经在数据库页上实施过;3.使用脏页表最大程度减少恢复时不必要的重做;4.使用模糊点检查点机制,只记录脏页信息和关联的信息,甚至不要求将脏页写到磁盘;5.当系统崩溃会重启时,恢复管理器将被激活,并按以下三个阶段进行处理:a.分析:鉴别系统崩溃时,缓冲区中的脏页和当时仍在活跃的事务;b.重做:重做从日志适当起点(比如被修改的最早脏页表对应的日志记录)开始的所有动作,恢复系统到崩溃时的DB状态;c.撤销:撤销上次崩溃时所有未提交的事务的动作效果,使DB只反映已经提交的事务的影响;d.如果是重启时再次崩溃,则会借助一共有五种日志类型,分别为:Update、Commit、Abort、End、CLRs。Update更新:需要写更新;Commit提交:当事务决定提交,它将先强制写一条类型为commit(内含该事务id)的日志记录到日志尾,并执行一次刷新当前日志尾到稳存的动作;Abort中止:当一个事务中止时,一条类型为abort(内含事务id)的日志记录将被写到日志尾,同时启动一个撤销该事务的Undo过程;End结束:当一个事务提交或是中止后,commit或是abort外,DBMS还将执行一些而外的动作步骤,当这些而外的动作都完成后,将会写一条(包含事务id和、类型为end)日志记录到稳存;CLR s补偿:当由一条更新日志记录U所记录的改变被撤销

文档评论(0)

2299972 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档