当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

Oracle10gR2自动检查点调整的新特性

从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的数量。

相关内容
赞助商链接