自上一个检查点以来经过的时间越长、工作量越大,将脏页写入磁盘的优先级就越高。该优先级由以下因素确定:
检查点紧急情况 上一检查点与当前时间之间的时间间隔,显示为数据库检查点时间设置的百分比。使用 -gc 服务器选项或 checkpoint_time 数据库选项可以设置检查点之间的最大时间间隔(以分钟为单位)。如果指定了 -gc,则数据库中的 checkpoint_time 选项设置被忽略。
恢复紧急情况 一种启发式算法,用于估计在数据库失败时立即恢复它所需的时间。使用 -gr 服务器选项或 recovery_time 数据库选项可以设置在系统出现故障时进行恢复的最长时间(以分钟为单位)。如果指定了 -gr,则数据库中的 recovery_time 选项设置被忽略。
只有当数据库服务器没有足够的空闲时间写入脏页时,检查点和恢复紧急情况值才是重要的。根据 recovery_time 和 checkpoint_time 选项的组合确定检查点之间时间间隔的下限。在立即强迫检查点的情况下不考虑 recovery_time 选项设置。
检查点越频繁,恢复越快,但是服务器写出脏页的工作量会越大。
如果脏页数量因数据库中的其它活动而下降到零,并且检查点紧急程度为 33% 或更高,则会自动执行检查点操作(因为这时便于执行此操作)。
检查点紧急情况值和恢复紧急情况值会一直增加,直到出现检查点,此时这些值会降至零。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |