DBMS检查点

  • 检查点是一种机制, 其中所有以前的日志都从系统中删除并永久存储在存储磁盘中。
  • 检查点就像书签。在执行事务时, 将标记此类检查点, 然后执行事务, 然后使用事务步骤创建日志文件。
  • 当到达检查点时, 该事务将被更新到数据库中, 直到该点为止, 整个日志文件将从该文件中删除。然后, 使用新的事务步骤更新日志文件, 直到下一个检查点, 依此类推。
  • 检查点用于声明一个点, 在该点之前DBMS处于一致状态, 并且所有事务都已提交。
使用Checkpoint进行恢复 【DBMS检查点】通过以下方式, 恢复系统从该故障中恢复数据库:
DBMS检查点

文章图片
  • 恢复系统从头开始读取日志文件。它从T4到T1读取日志文件。
  • 恢复系统维护两个列表, 一个重做列表和一个撤消列表。
  • 如果恢复系统看到带有< Tn, Start> 和< Tn, Commit> 或只是< Tn, Commit> 的日志, 则事务将进入重做状态。在重做列表及其先前的列表中, 所有事务都将被删除, 然后在保存其日志之前重做。
  • 例如:在日志文件中, 事务T2和T3将具有< Tn, 开始> 和< Tn, 提交> 。 T1事务在日志文件中将只有< Tn, commit> 。这就是为什么在检查点越过后才提交事务的原因。因此, 它将T1, T2和T3事务放入重做列表。
  • 如果恢复系统看到带有< Tn, Start> 的日志, 但未找到提交或中止日志, 则事务将进入撤消状态。在撤消列表中, 所有事务都被撤消, 并且它们的日志也被删除。
  • 例如:事务T4将具有< Tn, 开始> 。因此T4将被放入撤消列表, 因为此事务尚未完成且失败。

    推荐阅读