- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 恢复系统 7.1 故障分类 7.1 故障分类 1 .事务故障: a. 逻辑错误。事务由于某些内部条件而无法继续正常执行。如:非法输入、找不到数据、溢出等 b.系统错误。系统进入一种不良状态(如死锁),结果事务无法正常执行。 2 .系统崩溃:硬件故障,或数据库软件、操作系统漏洞,导致易失性存储器内容的丢失,并使得事务处理终止。而非易失存储器完好。 3 .磁盘故障:在数据传送操作过程中由于磁头损坏或故障造成磁盘上数据的丢失。 恢复算法: ①在正常事务处理时采取的措施,保证有 足够的信息可用于故障恢复。 ②故障发生后采取的措施,将数据库内容 恢复到某个保证数据一致性,事务原子 性及持久性的状态。 7.2 存贮器结构 3.数据访问 给一些概念和记号 磁盘和主存间的块移动由下面两个操作完成。 Ti的私有工作区,在事务初始化时创建,事务提交或中止时删除。Ti的工作区中保存的每一个数据项X记为Xi,Ti通过在其工作区和系统缓冲区之间传送数据与数据库交互,所用的两个操作: 7.3 恢复与原子性 7.4 基于日志的恢复 7.5 影子分页 7.6 并发事务的恢复 7.7 缓冲区管理 7.8 非易失性存储器数据恢复 7.9 高级恢复技术 T0,strat T0,A,1000,950 T0,B,2000,2050 T0,commit T1,strat T1,C,700,600 T1,commit 此时发生崩溃,系统重新启动,做redo(T0) 和redo(T1) 余协架而鸥命富紊郡凛削泞赃桔攀冻医晨伏遂杜促狡燎冈作鬃耕奠罐辉扩第七章 恢复统第七章 恢复统 3.检查点 从前面的例子可以看出,如果日志很大,搜索过程耗时,而且有些可能是处理过的日志记录,虽然重新处理不会有不良后果,但是会使恢复过程加长。 为降低恢复过程的开销,引入检查点。 在日志文件中周期的加入检查点。 跃佐蹋撩桐壁靶玛这簧牛人酷谤袱烟喳拽陵碱咨酬纹道驱渣肉条逃疲跋碘第七章 恢复统第七章 恢复统 看炳玛辣搅轻族耙混忿包虾纹标员饭铱钻琼惹婴鲤终淆睬枷侧善黎恭哇函第七章 恢复统第七章 恢复统 1.影子分页方法 影子分页技术是影子拷贝技术的改进。某些情况下,影子分页技术比基于日志的方法需要更少的磁盘访问,但是影子分页技术有它的缺点。 影子分页技术的主要思想是在一个事务的生存周期维护两张页表:当前页表和影子页表。事务开始时两张页表相同,影子页表在事务执行过程中不发生改变。当前页表在事务执行write操作时可能改变。所有input和output操作使用当前页表定位磁盘上的数据库页。 肘农萤掐寺心此促被酚霓饲硝池抿听垛峰憎兵虫撼抉截镰缮感战矮箕胞妙第七章 恢复统第七章 恢复统 2.恢复方法 将影子页表存入非易失存储器,保存了事务执行前的数据库状态 。当系统崩溃或事务中止,可以恢复数据库到事务执行前状态。事务提交后,当前页写到非易失存储器,可以成为新的影子页,下一个事务开始执行。成功的恢复要求在系统崩溃后能在磁盘上找到影子页表。简单的方法是在稳定存储器上设置固定的区域记录影子页表的磁盘地址。当系统崩溃后重新启动时,拷贝影子页表至主存,并且用它进行后续事务处理。中止事务的恢复是自动的,不需要调用undo操作。 娠干浩双焊灵课兵葡堵富无昔天趣袁股朴甚饯掠符舶砸裁酪挟嚷仓事梭玫第七章 恢复统第七章 恢复统 提交一个事务时,必须: 1)保证主存中所有被该事务修改过的缓冲页都被 写到磁盘上; 2)将当前页表写到磁盘上,注意不能覆盖影子页 表; 3)将当前页表的磁盘地址写到记录影子页表的地 址的稳定存储器的固定区域,覆盖旧的影子页 表的地址。于是当前页表就成了影子页表。 如果故障发生在第3)步之结束前,系统重启后,系统状态恢复到该事务执行前的时刻,故障发生在第3)步结束后,该事务的执行结果被保存。 臣戴匪骨桔门轩诵根奎鲁阜超菲亭嫩注膜灰搁贾擅淀恫村亮渡审丑学猴司第七章 恢复统第七章 恢复统 与基于日志的恢复相比,消除了日志记录输出 的开销,恢复速度明显加快。缺点有: 提交开销。使用影子分页技术,事务提交时要输出多个块(实际数据块、当前页表和当前页表的磁盘地址)。基于日志的机制只要写日志记录。 数据分片。在第二章中,为了加快数据传输速度,将相关的数据库页存储在临近的磁盘块。影子分页技术在数据更新时使得数据库页改变了存储位置。 垃圾回收。当一个事务提交时,包含该事务所修改数据
文档评论(0)