- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                检查点技术 为解决上述问题,发展了具有检查点的恢复技术。 这种技术在日志文件中增加两个新的记录 检查点记录 重新开始记录 检查点记录的内容包括: 建立检查点时刻所有正在执行的事务列表; 这些事务最近一个日志记录的地址。 * * 重新开始文件用于记录各个检查点记录在日志文件中的地址。图示为建立检查点Ci时对应的日志文件和重新开始文件。 动态维护日志文件的方法 周期性地执行建立检查点和保存数据库状态的操作。具体步骤: ① 将日志缓冲区中的所有日志记录写到磁盘日志文件上。 ② 在日志文件中写入一个检查点记录,该记录包含所有在检查点运行的事务的标识。 ③ 将数据缓冲区中所有修改过的数据写入到磁盘数据库中。 ④ 将检查点记录在日志文件中的地址写入一个重新开始文件,以便在发生系统故障而重启时可利用该文件找到日志文件中的检查点记录地址 * * 关于检查点 检查点可以按照预订的时间间隔建立,如: 每隔固定时间建立一个检查点,比如15分钟、30分钟 也可以按照某种规则建立检查点,如: 日志文件写满一半时建立一个检查点 * * 检查点优点 可以改善恢复效率。 如果事务T在某个检查点之前提交,则T对数据库所做的修改均已写入数据库中, 因此,在进行恢复时,没有必要对事务T执行重做操作。  * * 示例 * * 当系统在tf时刻发生故障时,只需扫描事务日志至最近的一个检查点tc 无操作 重做 重做 撤销 13.5 缓冲区管理 对数据库缓冲区的管理,在恢复过程中起着重要的作用。 缓冲区管理器负责对在主存和辅存间传送数据页的数据库缓冲区进行高效的管理,包括从磁盘读页到缓冲区直到缓冲区满,然后使用一种替代策略来决定将哪个或哪些缓冲区的数据强制写到磁盘,以此来为从磁盘上读取的新页的操作提供空间。 * * 缓冲区管理(续) 缓冲区管理器使用的替代策略有: 先进先出(FIFO) 最近最少使用(LRU)。 当某页已经在数据库缓冲区时,缓冲管理器不会再从磁盘上读取该页。 * * DBMS虚拟内存缓冲区示意 * * 缓冲区作用 缓冲区管理器有效地提供了数据库页的临时副本。因此,可被应用到数据库恢复系统中。 在这种模式中,修改是在临时副本中完成的,原始的页仍然保留在辅存中不被修改。事务日志和数据页都被写入到虚拟内存中的缓冲区页中。 * * 二阶段提交 事务的COMMIT操作分两个阶段完成,因此又被称为二阶段提交。 在第一个阶段,事务日志缓冲区被写出(先写日志)。 在第二个阶段,数据缓冲区被写出。 * * 日志 日志 说明 由于日志总是在COMMIT操作的第一阶段强制写出,因此它不会引起任何问题。 由于数据库中没有未提交的修改,因此这种数据库恢复方法不需要撤销事务日志。 * * * * 开场白: * 示例2 有事务操作历史及相应的日志记录: 时间 事务操作 日志记录 说明 时刻1 R1(A, 50) (S, 1) 启动事务T1的日志记录,无需在日志中记录读操作,但这个操作表示事务T1的开始 时刻2 W1(A, 20) (W, 1, A, 50, 20) 将事务T1修改A的操作记入日志。A修改前的值是50,修改后的值是20 时刻3 R2(C, 100) (S, 2) 启动事务T2的日志记录 时刻4 W2(C, 50) (W, 2, C, 100, 50) 将事务T2修改C的操作记入日志。C修改前的值是100,修改后的值是50 时刻5 C2 (C, 2) 提交T2(将日志缓冲区中的信息写入日志文件) 时刻6 R1(B, 50) 没有日志项 时刻7 W1(B, 80) (W, 1, B, 50, 80) 将事务T1修改B的操作记入日志。B修改前的值是50,修改后的值是80 时刻8 C1      (C, 1) 提交T1(将日志缓冲区中的信息写入日志文件) 恢复完成之后:A=50,B=50,C=50 系统崩溃 X 故障恢复过程 在发生故障的系统被重启后,数据库的恢复经历了两个阶段: 撤销:按逆向顺序读取日志文件中的记录直至第一条记录; 重做:顺序向前读取日志文件中的记录直到最后一条记录。 大多数商业DBMS都是先进行撤销,再进行重做。 * * 在W1(B,80)之后发生故障的事务操作撤销过程 * * 序号 日志记录 完成的撤销操作 1 (C, 2) 将事务T2放入事务提交列表 2 (W, 2, C, 100, 50) 由于事务T2在提交列表,因此不进行任何操作 3 (S, 2) 记录事务T2不再活动 4 (W, 1, A, 50, 20) 事务T1还未提交。最后一部是写操作,因此系统执行撤销操作,把A改为修改前的值(50)。将事务T1放入未提交事务列表 5 (S, 1) 到达事务T1的开始点,现在没有可撤销的活动了,因此撤销阶段结束 在W1(B,80)之后发生故障的事务操作重做过程
                您可能关注的文档
- 数据库应用技术——PowerBuilder应用系统开发周建芳电子教案 PB08.ppt
- 数据库设计及其应用 教学课件 作者刘秋生 2009pp01.ppt
- 数据库设计及其应用 教学课件 作者刘秋生 2009pp02.ppt
- 数据库设计及其应用 教学课件 作者刘秋生 2009pp03.ppt
- 数据库设计及其应用 教学课件 作者刘秋生 2009pp04.ppt
- 数据库设计及其应用 教学课件 作者刘秋生 2009pp05.ppt
- 数据库设计及其应用 教学课件 作者刘秋生 2009pp06.ppt
- 数据库设计及其应用 教学课件 作者刘秋生 2009pp07.ppt
- 数据库设计及其应用 教学课件 作者刘秋生 2009pp08.ppt
- 数据库设计及其应用 教学课件 作者刘秋生 2009pp09.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第14章 查询处理与优化.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第15章 数据库技术的发展.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第16章 数据库仓库与数据挖掘.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第17章 SQL Server 2005基础.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第18章 数据库及对象的创建与管理.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第19章 存储过程和游标.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第20章 安全管理.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第21章 数据库设计工具——PowerDesigner.ppt
- 数据库系统原理及应用电子教案李晓峰 第1章 数据库系统概论.ppt
- 数据库系统原理及应用电子教案李晓峰 第2章 关系数据库.ppt
 原创力文档
原创力文档 
                        

文档评论(0)