fast_start_mttr_target参数的默认值是0.此时,在发生实例故障后恢复实例的时间
成本较高,但实现了性能的最大化。DBWn进程根据自身需要尽量减少写入量。这意味
着,检查点位置可能早已过期,因此在恢复实例的前滚阶段,将需要为数据文件应用
大量的重做。
如果将fast_start_mttr_target设置为非零值,将产生两个效果。首先,它设置了恢
复目标,同时也产生了此生效应;启用检查点自动调整机制。检查点自动调整机制检
查有关计算机使用情况的统计情况,如磁盘I/O速率和CPU使用情况,如果发现能力有
剩余,它将利用此能力写出数据库缓冲区缓存的其他脏缓冲区,从而前移检查点位置
。这样,即使将fast_start_mttr_target参数设置为较大的值(最大值为3600秒,
如果给出的值高于此值,将执行舍入),实际恢复时间也完全可能大大减少。
通过查询v$instance_recovery事务,我们可以得到更完整的信息。如下:
SQL> desc v$instance_recovery
Name Null? Type
----------------------------------------- --------
----------------------------
RECOVERY_ESTIMATED_IOS NUMBER
ACTUAL_REDO_BLKS NUMBER
TARGET_REDO_BLKS NUMBER
LOG_FILE_SIZE_REDO_BLKS NUMBER
LOG_CHKPT_TIMEOUT_REDO_BLKS NUMBER
LOG_CHKPT_INTERVAL_REDO_BLKS NUMBER
FAST_START_IO_TARGET_REDO_BLKS NUMBER
TARGET_MTTR NUMBER
ESTIMATED_MTTR NUMBER
CKPT_BLOCK_WRITES NUMBER
OPTIMAL_LOGFILE_SIZE NUMBER
ESTD_CLUSTER_AVAILABLE_TIME NUMBER
WRITES_MTTR NUMBER
WRITES_LOGFILE_SIZE NUMBER
WRITES_LOG_CHECKPOINT_SETTINGS NUMBER
WRITES_OTHER_SETTINGS NUMBER
WRITES_AUTOTUNE NUMBER
WRITES_FULL_THREAD_CKPT NUMBER
recovery_estimated_ios:如果实例现在崩溃了,为了恢复实例,需要在数据文件上
执行的读/写操作的次数。
actual_redo_blocks:如果实例现在崩溃了,为了恢复实例,需要应用于数据文件的
os重做块数目。
estimated_mttr:如果实例现在崩溃了,打开数据库所需要的时间(秒).
target_mttr:fast_start_mttr_target的设置
writes_mttr:为了满足target_mttr的要求,除正常完成的写入外,DBWn必须执行的
写入次数。
WRITES_AUTOTUNE:自动调整机制发起的DBWn写入次数.
通过跟踪estinated_mttr的值,可以知道是否遵循了服务级别协议中有关崩溃恢复时
间的要求,通过writes_mttr,可以了解获得快速恢复需要付出的代价。
(注:如果将fast_start_mttr_target设置非零,将启用检查点自动调整。)
成本较高,但实现了性能的最大化。DBWn进程根据自身需要尽量减少写入量。这意味
着,检查点位置可能早已过期,因此在恢复实例的前滚阶段,将需要为数据文件应用
大量的重做。
如果将fast_start_mttr_target设置为非零值,将产生两个效果。首先,它设置了恢
复目标,同时也产生了此生效应;启用检查点自动调整机制。检查点自动调整机制检
查有关计算机使用情况的统计情况,如磁盘I/O速率和CPU使用情况,如果发现能力有
剩余,它将利用此能力写出数据库缓冲区缓存的其他脏缓冲区,从而前移检查点位置
。这样,即使将fast_start_mttr_target参数设置为较大的值(最大值为3600秒,
如果给出的值高于此值,将执行舍入),实际恢复时间也完全可能大大减少。
通过查询v$instance_recovery事务,我们可以得到更完整的信息。如下:
SQL> desc v$instance_recovery
Name Null? Type
----------------------------------------- --------
----------------------------
RECOVERY_ESTIMATED_IOS NUMBER
ACTUAL_REDO_BLKS NUMBER
TARGET_REDO_BLKS NUMBER
LOG_FILE_SIZE_REDO_BLKS NUMBER
LOG_CHKPT_TIMEOUT_REDO_BLKS NUMBER
LOG_CHKPT_INTERVAL_REDO_BLKS NUMBER
FAST_START_IO_TARGET_REDO_BLKS NUMBER
TARGET_MTTR NUMBER
ESTIMATED_MTTR NUMBER
CKPT_BLOCK_WRITES NUMBER
OPTIMAL_LOGFILE_SIZE NUMBER
ESTD_CLUSTER_AVAILABLE_TIME NUMBER
WRITES_MTTR NUMBER
WRITES_LOGFILE_SIZE NUMBER
WRITES_LOG_CHECKPOINT_SETTINGS NUMBER
WRITES_OTHER_SETTINGS NUMBER
WRITES_AUTOTUNE NUMBER
WRITES_FULL_THREAD_CKPT NUMBER
recovery_estimated_ios:如果实例现在崩溃了,为了恢复实例,需要在数据文件上
执行的读/写操作的次数。
actual_redo_blocks:如果实例现在崩溃了,为了恢复实例,需要应用于数据文件的
os重做块数目。
estimated_mttr:如果实例现在崩溃了,打开数据库所需要的时间(秒).
target_mttr:fast_start_mttr_target的设置
writes_mttr:为了满足target_mttr的要求,除正常完成的写入外,DBWn必须执行的
写入次数。
WRITES_AUTOTUNE:自动调整机制发起的DBWn写入次数.
通过跟踪estinated_mttr的值,可以知道是否遵循了服务级别协议中有关崩溃恢复时
间的要求,通过writes_mttr,可以了解获得快速恢复需要付出的代价。
(注:如果将fast_start_mttr_target设置非零,将启用检查点自动调整。)