FAST_START_MTTR_TARGET
来源:互联网 发布:java string 转json 编辑:程序博客网 时间:2024/05/05 22:02
- Errors in file /u01/app/oracle/product/10.2.0/db_1/admin/orcl/bdump/orcl_arc1_15884.trc:
- ORA-16038: log 1 sequence# 56 cannot be archived
- ORA-19809: limit exceeded for recovery files
- ORA-00312: online log 1 thread 1: '/u01/app/oracle/product/10.2.0/oradata/orcl/redo01.log'
- ...skipping...
- MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
从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的数量。
笔者0时为启用自动调整的检查点功能
Oracle10gR2自动检查点调整的新特性
FAST_START_MTTR_TARGET参数
2分钟。
复所需的时间较长,太小则导致大量数据的及时写入,增加了系统的I/O。
undo、
关于检查点的触发条件有很多,比如日志切换、数据库shutdown、开始结束备份表空间等。检查点的分类也很多,比如完全检查点、部
FAST_START_MTTR_TARGET的值实际上也是触发检查点的一个触发条件。当内存中产生的(estimated_mttr)
FAST_START_MTTR_TARGET的指定时间,则检查点进程被触发。检查点进程一旦被触发,将通知DBWn进程将按检查点队列顺序将脏数
关于实例的恢复以及检查的具体分类描述等,请参考:
Oracle实例和Oracle数据库(Oracle体系结构)
二、 很多文章描述了FAST_START_MTTR_TARGET = 0,即为未设置,表示启用自动检查点功能,下面是来自Oracle的官方文档中的一段,
Fast-Start Fault Recovery
It reduces the time required for cache recovery, and makes instance recovery time-bounded and predictable. This is accomplished by limiting the number of dirty buffers (data blocks which have changes in memory that still need to be written to disk) and the number of redo records (changes in the database) generated between the most recent redo record and the last checkpoint.
从第一段中粗体标记的描述来看,当设定一个大于0的值给 checkpointing,更准确的说应该是快速启动检查点功能
Explicit setting of the FAST_START_MTTR_TARGET parameter to 0 disables automatic checkpoint tuning.Explicit setting of the FAST_START_MTTR_TARGET parameter to a value other than 0 also enables the Redo Log Advisor.
FAST_START_MTTR_TARGET
假定我们将该值设定为
在事务频繁的时间段来考察视图v$instacne_recovery提供的值
v$instance_recovery视图的结构
----------------------------------------- -------- ----------------------------
ACTUAL_REDO_BLKS NUMBER
LOG_FILE_SIZE_REDO_BLKS NUMBER
LOG_CHKPT_INTERVAL_REDO_BLKS NUMBER
TARGET_MTTR NUMBER
CKPT_BLOCK_WRITES NUMBER
ESTD_CLUSTER_AVAILABLE_TIME NUMBER
WRITES_LOGFILE_SIZE NUMBER
WRITES_OTHER_SETTINGS NUMBER
WRITES_FULL_THREAD_CKPT NUMBER
两个字段:
ESTIMATED_MTTR -->系统根据dirty buffer中计算出来的值
1.TARGET_MTTR > ESTIMATED_MTTR --大量的事务将导致这种情况的出现
SQL> select recovery_estimated_ios,actual_redo_blks ,target_redo_blks ,
3 from v$instance_recovery;
---------------------- ---------------- ---------------- ----------- --------------
可以在负载的情况下根据TARGET_MTTR来值通过v$mttr_target_advice调整该参数
四、启用 需要设置两个参数
FAST_START_MTTR_TARGET -->置为非零值
mttr_time设定为 NAME TYPE VALUE
fast_start_mttr_target integer 30
33
----------- --------------
SQL> select mttr_target_for_estimate tar_est,dirty_limit,estd_cache_writes est_c_w,
3 from v$mttr_target_advice;
---------- ----------- ---------- ---------- ---------- ----------
34 1000 5100 1 5100 1
52 3808 3762 .7376 3762 .7376
--mttr_target_for_estimate有一个值为的最接近设定的目标时间 --同时也给出了几组不同的mttr_target值及dirty_limit,cache_write,io等来供DBA来选择设定合适的<span lang="EN-US" style="font-family:; font-size: 9pt;" 宋体;mso-font-kerning:0pt"="">mttr
FAST_START_IO_TARGET,LOG_CHECKPOINT_TIMEOUT等参数的,他和CHECKPOINT是密切相关的,要完全理解这个参数,有几个其他参数或者概念是必要的(SCN,CHECKPOINT,CRASH RECOVERY,REDO,INCREMENTAL CHECKPOINT,CHECKPOINT QUEUE.
FAST_START_MTTR_TARGET参数取值范围是0~3600sec,如果你一但设定这个参数的值,比如200sec,在oracle系統中,有一个视图v$instance_recovery,它是用来监视当前instance的状态的,在它里面,有两个column,ESTIMATED_MTTR,TARGET_MTTR,通常这个TARGET_MTTR会等于你设定的FAST_START_MTTR_TARGET,除非你设定的值过大或过小,则:
ESTIMATED_MTTR,这个COLUMN记录的是从上次CHECKPOINT开始,到当前,如果系统CRASH掉,那么INSTANCE恢复所需要的时间,而这个时间,是根据DIRTY BUFFER和LOG FILE的量估算出来的,一旦这个值,接近或超过TARGET_MTTR,系统就会触发CHECKPOINT,执行完CHECKPOINT后,系统的ESTIMATED_MTTR开始重新计算.(凡事都有例外,有可能ESTIMATED_MTTR>TARGET_MTTR).
以上就是FAST_START_MTTR_TARGET对系统所做的限制,实际上,这个参数不会修改ORACLE的配置,不会象你理解的那样,去增加CHECKPOINT的频率,也不会缩小LOG FILE,只是在适当的时候CHECKPOINT而已
- FAST_START_MTTR_TARGET
- FAST_START_MTTR_TARGET
- FAST_START_MTTR_TARGET
- FAST_START_MTTR_TARGET
- FAST_START_MTTR_TARGET
- 初识FAST_START_MTTR_TARGET
- FAST_START_MTTR_TARGET 参数
- FAST_START_MTTR_TARGET参数
- 参数FAST_START_MTTR_TARGET
- FAST_START_MTTR_TARGET参数
- 2.3.7 FAST_START_MTTR_TARGET
- 参数FAST_START_MTTR_TARGET的理解
- Oracle MTTR( FAST_START_MTTR_TARGET )
- FAST_START_MTTR_TARGET参数的理解
- 关于FAST_START_MTTR_TARGET参数
- FAST_START_MTTR_TARGET能影响检查点吗。
- 11G中FAST_START_MTTR_TARGET参数
- 详解Oracle中FAST_START_MTTR_TARGET参数
- 最小二乘曲线拟合——C语言算法实现二
- QSignalMapper
- 【TreeView】个人使用小结(逐步完善中...)
- 如何启动一个程序一附加命令行选项启动(创建进程以命令行附加方式 配置 其他启动项)
- jQuery整理笔记二----jQuery选择器整理
- FAST_START_MTTR_TARGET
- 二叉树的存储与遍历
- jQuery整理笔记三----jQuery过滤函数
- Android Sqlite初体验
- asp.net用户登入验证
- jQuery整理笔记四----jQuery操作DOM
- Firebug 网络监视器使用教程英文
- 版本控制工具 GIT入门教程
- jQuery整理笔记五----jQuery事件