一、FAST_START_MTTR_TARGET参数的作用和实现方法

参数FAST_START_MTTR_TARGET参数是一个加快实例恢复的参数,我们可以根据服务界别来定义一个合理的、可接受的值。该值得单位为秒。比如设定为60S,假定该值处于合理的情况之下,则一旦实例崩溃,在60S以内实例应当能够被恢复。合理即该值不能太大,也不能太小。太大则实例恢复所需的时间较长,太小则导致大量数据的及时写入,增加了系统的I/O。

影响实例恢复时间长短的主要因素是从最近检查点位置到联机重做日志尾部之间的距离。距离越长则所需要的cache recovery和undo、redo的时间越长。所以如何有效的缩短最近检查点位置与联机重做日志尾部之间的距离,正是FAST_START_MTTR_TARGET的目的。

FAST_START_MTTR_TARGET的值实际上是通过触发检查点来实现它的目的的。当内存中产生的dirty buffer所需的恢复时间(estimated_mttr)到达FAST_START_MTTR_TARGET所指定的时间,则检查点进程被触发。检查点进程一旦被触发,将通过DBWn进程按检查点队列顺序将脏数据写入到数据文件,从而缩短了最后检查点位置与联机重做日志间的距离,减少了实例恢复所需的时间。

二、FAST_START_MTTR_TARGET参数为0的情况

官网描述:

Fast-start checkpointing refers to the periodic writes by the database writer (DBWn) processes for the purpose of writing changed data blocks from the Oracle buffer cache to disk and advancing the thread-checkpoint.Setting the database parameter FAST_START_MTTR_TARGET to a value greater than zero enables the fast-start checkpointing feature. Fast-start checkpointing should always be enabled for the following reasons:

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.

Fast-Start checkpointing eliminates bulk writes and corresponding I/O spikes that occur traditionally with interval- based checkpoints, providing a smoother, more consistent I/O pattern that is more predictable and easier to manage. If the system is not   already near or at its maximum I/O capacity, fast-start checkpointing will have a negligible impact on performance. Although     fast-start checkpointing results in increased write activity, there is little reduction in database throughout, provided the system  has sufficient I/O capacity.

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设置为0将关闭检查点自动调整功能。当设定一个大于0的值给FAST_START_MTTR_TARGET,则自动调整检查点功能将启用。

 

三、设置FAST_START_MTTR_TARGET

 

这个参数值得设定需要考虑到可接受的实例的恢复时间、可承受的I/O吞吐量等等。可以再系统正常负载时参考v$instance_recovery视图来设置该参数的值。

 

假定将FAST_TARGET_MTTR_TARGET的值设置为30S:

SYS@ tsid > alter system set fast_start_mttr_target=30;

 

视图v$instance_recovery中有两个相关字段:TARGET_MTTR和ESTIMATED_MTTR

TARGET_MTTR:参照FAST_START_MTTR_TARGET参数中设定的值计算出来的一个值。

ESTIMATED_MTTR:系统根据dirty buffer中计算出来的值。

SYS@tsid>select recovery_estimated_ios,actual_redo_blks,target_redo_blks,target_mttr,estimated_mttr

2  from v$instance_recovery;

RECOVERY_ESTIMATED_IOS ACTUAL_REDO_BLKS TARGET_REDO_BLKS TARGET_MTTR ESTIMATED_MTTR

---------------------- ---------------- ---------------- ----------- --------------

1768           104036           184320          28             23

四、启用MTTR Advisor

首先需要设置两个参数:STATISTICS_LEVEL,设置为typical或者all

FAST_START_MTTR_TARGET,设置为非0值。

SYS@ tsid > show parameter mttr;  --当前参数设置为30S

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------

fast_start_mttr_target               integer     30

SYS@ tsid > select target_mttr,estimated_mttr from v$instance_recovery;

TARGET_MTTR ESTIMATED_MTTR

----------- --------------

28             23                     --系统计算出的mttr为28S

SYS@tsid>select mttr_target_for_estimate,dirty_limit,estd_cache_writes,estd_cache_write_factor,estd_total_writes,estd_total_write_factor from v$mttr_target_advice;

MTTR_TARGET_FOR_ESTIMATE DIRTY_LIMIT ESTD_CACHE_WRITES ESTD_CACHE_WRITE_FACTOR ESTD_TOTAL_WRITES ESTD_TOTAL_WRITE_FACTOR

------------------------ ----------- ----------------- ----------------------- ----------------- -----------------------

27        1000             75103                  1.0043             75296              1.0043

28        1103             74974                  1.0026             75167              1.0026

30        1313             74781                       1             74974                   1

31        1417             74652                   .9983             74845               .9983

32        1522             74587                   .9974             74780               .9974

--mttr_target_for_estimate有一个值最接近设定的目标时间30。

--给出了几组不同的mttr_target值及dirty_limit,cache_write,io来供DBA来选择设定合适的mttr。

转自:http://blog.itpub.net/25744374/viewspace-731326/

Oracle FAST_START_MTTR_TARGET参数的理解相关推荐

  1. ORACLE初始化参数文件概述

    ORACLE初始化参数文件概述 在9i之前,参数文件只有一种,它是文本格式的,称为pfile,在9i及以后的版本中,新增了服务器参数文件,称为spfile,它是二进制格式的.这两种参数文件都是用来存储 ...

  2. ORACLE初始化参数文件详细文档

    注明:本文不是介绍ORACLE初始化参数的具体配置及调优,本文仅介绍初始化参数配置文件PFILE和SPFILE的使用及相关内容说明. 1.简介 在9i之前,参数文件只有一种,它是文本格式的,称为pfi ...

  3. Oracle 内存参数设置

    2019独角兽企业重金招聘Python工程师标准>>> oracle 实例结构: oracle实例 = 内存结构+进程结构 oracle进程=服务进程+用户进程 主要的后台进程有: ...

  4. ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解

    转自 ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解 ArcGIS Engine中总调用IFeatureClass ...

  5. 对oracle静态参数修改一点研究

    对静态参数修改的研究: 看参数能否被修改,什么时候生效看v$parameter的字段ISSES_MODIFIABLE.ISSYS_MODIFIABLE.ISMODIFIED. 关于alter syst ...

  6. linux安装oracle 操作系统内核参数 aio,Oracle Study之案例--安装Oracle内核参数配置

    Oracle Study之案例--安装Oracle内核参数配置 在Linux系统下,安装Oracle之前,除了检查操作系统的硬件和软件是否满足安装需要之外,一个重点就是修改内核参数,其中最主要的是和内 ...

  7. oracle修改asm参数文件,学习笔记:Oracle RAC参数文件管理 修改创建asm中的spfile文件...

    天萃荷净 Oracle rac创建修改asm中的spfile文件内容 create spfile to asm --查看sid SQL> show parameter instance_name ...

  8. oracle locked time,ORACLE distributed_lock_timeout参数

    今天上午碰到一个报错: ORA-02049:timeout:distributed transaction waiting for lock 但是并未对业务造成实际影响,过了一段时间后好了.因为那段时 ...

  9. 谈谈对python的理解_浅谈对python pandas中 inplace 参数的理解

    这篇文章主要介绍了对python pandas中 inplace 参数的理解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 pandas 中 inplace 参数在很多函数中都会有, ...

最新文章

  1. Kernel 社区 开发准备工作mutt 邮件使用
  2. C语言实现常用数据结构——队列
  3. java中运算类型_Java数据类型及运算
  4. 1012 The Best Rank (25 分)【难度: 中 / 知识点: 排序 前缀和】
  5. 云服务器ecs_阿里云ECS云服务器抢占式实例计费模式优缺点
  6. mybatis热加载的实现
  7. Android开发:菜单栏Menu用法讲解
  8. sh文件在linux下如何运行_RTMP协议安防视频平台EasyDSS在Linux系统下运行报错,如何处理?_...
  9. linux mysql优化_Linux上跑MySQL优化技巧
  10. 怎样才能查到4S店保养记录,4S店维修保养记录怎样查询,Javascript学习指南
  11. cuda 10.1 下载
  12. Python 玩转数据 3 - NumPy ndarray Array Indexing, Slicing, Striding, View Subarray,Copy Subarray
  13. 仿世纪佳缘登录注册页面
  14. 卡耐基梅隆大学计算机工程录取率,卡耐基梅隆大学各学院专业录取数据来咯!...
  15. 什么是精神内耗,如何防止?
  16. 自动化测试遇到的难点_自动化测试不成功的原因和实施过程中存在的问题
  17. java amr音频转码_jave: 音频转码工具,主要用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放...
  18. 河南省软考报名时间成绩查询河南省教育考试院河南省人事考试网报名入口
  19. 2022年虚拟电厂行业研究报
  20. 有符号整型加法与乘法

热门文章

  1. [经济杂谈]如果你读懂了 股市就是取款机(要保存的) 管理帖子
  2. java常量、变量的定义和使用
  3. 联想 ThinkPad Z13/z16 笔记本评测
  4. 金蝶EAS·BOS 如何修改解决方案(工程)名称 、工作空间路径
  5. 微信小程序时间范围日期时间选择器
  6. javaweb网络视频播放器系统springboot
  7. 曾哥传第四话——曾哥出山
  8. 怎么在html中复制粘贴图片,在网页中粘贴截图那些事儿
  9. 真正不需要网关的智能门锁——NBIoT智能门锁
  10. 海岛纪元显示无法连接服务器,海岛纪元(全球服)一直进不去怎么办