📜  DBMS检查点

📅  最后修改于: 2020-12-12 07:43:31             🧑  作者: Mango

检查站

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

使用Checkpoint进行恢复

通过以下方式,恢复系统从该故障中恢复数据库:

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