Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 数据库管理 » 维护数据库 » 备份和数据恢复 » 内部备份过程

 

数据库服务器如何确定何时进行检查点操作

自上一个检查点以来经过的时间越长、工作量越大,将脏页写入磁盘的优先级就越高。该优先级由以下因素确定:

  • 检查点紧急情况   上一检查点与当前时间之间的时间间隔,显示为数据库检查点时间设置的百分比。使用 -gc 服务器选项或 checkpoint_time 数据库选项可以设置检查点之间的最大时间间隔(以分钟为单位)。如果指定了 -gc,则数据库中的 checkpoint_time 选项设置被忽略。

  • 恢复紧急情况   一种启发式算法,用于估计在数据库失败时立即恢复它所需的时间。使用 -gr 服务器选项或 recovery_time 数据库选项可以设置在系统出现故障时进行恢复的最长时间(以分钟为单位)。如果指定了 -gr,则数据库中的 recovery_time 选项设置被忽略。

只有当数据库服务器没有足够的空闲时间写入脏页时,检查点和恢复紧急情况值才是重要的。根据 recovery_time 和 checkpoint_time 选项的组合确定检查点之间时间间隔的下限。在立即强迫检查点的情况下不考虑 recovery_time 选项设置。

检查点越频繁,恢复越快,但是服务器写出脏页的工作量会越大。

如果脏页数量因数据库中的其它活动而下降到零,并且检查点紧急程度为 33% 或更高,则会自动执行检查点操作(因为这时便于执行此操作)。

检查点紧急情况值和恢复紧急情况值会一直增加,直到出现检查点,此时这些值会降至零。

另请参见