欢迎进入oracle社区论坛,与200万技术人员互动交流 >>进入 从oracle10gr2开始,数据库可以实现自动调整的检查点. 使用自动调整的检查点,oracle数据库可以利用系统的低i/o负载时段写出内存中的脏数据,从而提高数据库的效率。 因此,即使数据库管理员设置了
欢迎进入oracle社区论坛,与200万技术人员互动交流 >>进入
从oracle10gr2开始,数据库可以实现自动调整的检查点.
使用自动调整的检查点,oracle数据库可以利用系统的低i/o负载时段写出内存中的脏数据,从而提高数据库的效率。
因此,即使数据库管理员设置了不合理的检查点相关参数,oracle仍然能够通过自动调整将数据库的crash recovery时间控制在合理的范围之内。
当fast_start_mttr_target参数未设置时,自动检查点调整生效。
通常,如果我们必须严格控制实例或节点恢复时间,那么我们可以设置fast_start_mttr_target为期望时间值;如果恢复时间不需要严格控制,那么我们可以不设置fast_start_mttr_target参数,从而启用oracle10g的自动检查点调整特性。
当取消fast_start_mttr_target参数设置之后:
sql> show parameter fast_start_mttr
name type value
------------------------------------ ----------- ------------------------fast_start_mttr_target integer 0
在启动数据库的时候,我们可以从alert文件中看到如下信息:
wed jan 11 16:28:12 2006
mttr advisory is disabled because fast_start_mttr_target is not set
检查v$instance_recovery视图,我们可以发现oracle10g中的改变:
sql> select recovery_estimated_ios reios,target_mttr tmttr,
2 estimated_mttr emttr,writes_mttr wmttr,writes_other_settings woset,
3 ckpt_block_writes ckptbw,writes_autotune wauto,writes_full_thread_ckpt wftckpt
4 from v$instance_recovery;
reios tmttr emttr wmttr woset ckptbw wauto wftckpt
---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
49407 0 68 0 0 3649819 3506125 3130700
在以上视图中,writes_autotune字段值就是指由于自动调整检查点执行的写出次数,
而ckpt_block_writes指的则是由于检查点写出的block的数量。