Oracle 11g有两个对于性能方面的测试工具,一个就是RAT(Real Application Test),另一个就是IO校准(Calibrate IO)。RAT是一种负载重演组件,当进行系统软硬件升级的时候,我们一个很关注的问题是:此次变化能否提升系统性能、能提升多少,会不会有新的瓶颈。这个在过去是不能实现的,只能够在升级之后通过实践去发现。但是RAT可以捕获实际系统负载情况,将其在新环境下进行重演,并且进行度量比较。IO调教的作用也是IO负载模拟,从而判断出实际真实的系统IO情况。
正常情况下,IO是会自动校准的,可以得知具体的并发数;

explain plan for select /*+parallel*/ * from scott.emp;select * from table(dbms_xplan.display);
那么这里我怎么知道cbo计算的实际的并发数呢?
2种方式
1.通过v$pq_slave
2.通过执行计划的auto dop提示


可以看到,此时的实际并发数为2;

如果dop提示为:automatic DOP: skipped because of IO calibrate statistics are missing
那么表示dop无法自动校准io,这个可能会影响执行计划的并发度;从而影响查询影响

11g中有一个视图v$io_calibration_status,记录了系统进行校准状态。和统计量不同,Oracle是不会自动进行IO校准的,而需要DBA手工完成。
select * from v$io_calibration_status;--状态
select * from DBA_RSRC_IO_CALIBRATE;--校准结果
此时是空的;
那么如何使dop能够正常工作呢?
调用: dbms_resource_manager.calibrate_io这个过程;在运行 i/o 校准之前, 请确保满足以下要求:
1必须授予用户权限SYSDBA
2 timed_statistics必须设置为TRUE
show parameter timed_statistics
NAME                                 TYPE        VALUE
------------------------------------ ----------- -----
timed_statistics                     boolean     TRUE3必须启用异步 i/o
show parameter disk_asy
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------
disk_asynch_io                       boolean     TRUE
4通过运行以下查询, 确保为数据文件启用了异步 i/o:
COL NAME FORMAT A50
SELECT NAME,ASYNCH_IO FROM V$DATAFILE F,V$IOSTAT_FILE I
WHERE  F.FILE#=I.FILE_NO
AND    FILETYPE_NAME='Data File';--入参
desc dbms_resource_manager.calibrate_io
Parameter          Type           Mode Default?
------------------ -------------- ---- --------
NUM_PHYSICAL_DISKS BINARY_INTEGER IN   Y
MAX_LATENCY        BINARY_INTEGER IN   Y
MAX_IOPS            BINARY_INTEGER OUT
MAX_MBPS           BINARY_INTEGER OUT
ACTUAL_LATENCY     BINARY_INTEGER OUT

调用的过程如下:

declarelat integer;iops integer;mbps integer;
begindbms_resource_manager.calibrate_io(2,10,iops, mbps, lat);dbms_output.put_line ('max_iops = ' || iops);dbms_output.put_line ('latency = ' || lat);dbms_output.put_line('max_mbps = ' || mbps);end;

入参:
NUM_PHYSICAL_DISKS: 物理磁盘的大致数量
MAX_LATENCY:此工作负荷的平均延迟。当您需要特定的目标延迟时, 可以使用输入参数指定目标延迟 (为数据库块大小的 IO 请求指定最大可容忍延迟 (毫秒)
出参:
MAX_IOPS :
该过程将随机数据库块大小读取 (默认情况下为 8 KB) 从所有数据库实例中的所有数据文件中发出。此步骤提供了数据库可以维持的最大 IOPS (输出参数)。
ACTUAL_LATENCY:实际延迟数;
MAX_MBPS:这个应该是IO每秒的吞吐量每秒MB;

校验时间可能会比较长,我这里暗影精灵2,win10 1803版本,花了271.367s

启动校准之后,Oracle生成大量的IO操作,来判断存储的极限。这个过程也就是让我们了解当前IO架构的上限。
在执行过程中,我们可查看校准状态v$io_calibration_status。
I/O校准成功完成后,可以查看校准结果 DBA_RSRC_IO_CALIBRATE表;

select aa.STATUS,to_char(aa.CALIBRATION_TIME,‘yyyy-mm-dd hh24:mi:ss:ff3’) from v$io_calibration_status aa;

select to_char(aa.start_time, ‘yyyy-mm-dd hh24:mi:ss:ff3’) start_time,
to_char(aa.end_time, ‘yyyy-mm-dd hh24:mi:ss:ff3’) end_time,
aa.max_iops,
aa.max_mbps,
aa.max_pmbps,
aa.latency,
aa.num_physical_disks
from DBA_RSRC_IO_CALIBRATE aa;

IO校准后,Auto DOP就可以正常工作了;

Oracle自动化、智能化过程中,是需要提供很多辅助信息的。
Calibrate IO是一个重要方面。Oracle不进行自动的Calibrate IO统计量的原因大体有三个:
首先是Oracle并不知道实际磁盘的标准指标。
第二是Oracle校准过程生成很大的IO,如果不慎会引起很大产品问题。
第三是Disk IO性能不会经常性发生变化。

参考:https://blog.csdn.net/u010719917/article/details/53337048
https://docs.oracle.com/cd/E18283_01/server.112/e16638/iodesign.htm#insertedID3

Oracle 11g中的IO Calibrate(automatic DOP: skipped because of IO calibrate statistics are missing)相关推荐

  1. Oracle 11g中的IO Calibrate(IO校准)--Automatic Degree of Parallelism(DOP)

    Oracle 11g中的IO Calibrate(IO校准)--Automatic Degree of Parallelism(DOP)  Oracle 11g中的IO Calibrate(IO校准) ...

  2. Oracle 11g中的IO Calibrate(IO校准)

    Oracle 11g中的IO Calibrate(IO校准).sql Oracle数据库发展到今天,"IO为王"已经是一种发展方向趋势.ExtraData一体机的重要特色之一就是最 ...

  3. Oracle 11g 中告警日志的位置

    Oracle 11g 中告警日志的位置 首先介绍2个新名词 Automatic Diagnostic Repository (ADR)一个存放数据库诊断日志.跟踪文件的目录,称作ADR base,对应 ...

  4. oracle异常日志在哪,Oracle 11g 中告警日志的位置

    首先介绍2个新名词 Automatic Diagnostic Repository (ADR)一个存放数据库诊断日志.跟踪文件的目录,称作ADR base,对应初始化参数DIAGNOSTIC_DEST ...

  5. ORACLE 11G中的ADR介绍:

    直到今天,我才开始接触oracle 11g,先了解其新特性,以下这些是我的新特性读书笔记: 第一部分:(Automatic Diagnostic Repository)ADR 在oracle 11g中 ...

  6. 盘点 Oracle 11g 中新特性带来的10大性能影响

    盘点 Oracle 11g 中新特性带来的10大性能影响 原创 2017-08-02 盖国强 数据和云 Oracle的任何一个新版本,总是会带来大量引人瞩目的新特性,但是往往在这些新特性引入之初,首先 ...

  7. oracle 11g中的自动维护任务管理

    因为人员紧缺,最近又忙着去搞性能优化的事情,有时候真的是不想再搞这个事情,只是没办法,我当前的绩效几乎取决于这个项目的最终成绩,所以不管是人的事还是事的事,都得去让他顺利推进. 前段时间发生还有几台服 ...

  8. Oracle 11g中关于数据定义的思考

    之前一直没有关注过Oracle中数据的保存方式,因为大部分使用的还是Oracle的关系型数据库存储内容的元数据.今天偶然看到一篇关于Oracle 11g的数据定义的描述,收集如下: 1.Oracle的 ...

  9. bak文件转oracle文件,如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g)...

    如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g) 我有Oracle 11g备份文件(.bak文件)如何在Oracle 11g ...

最新文章

  1. 学会打败你的时间“窃贼”!!
  2. 【收藏】vuejs学习笔记github地址
  3. Another ORA-00600 internal error
  4. SAP CDS view里将Date和time连接成timestamp的函数
  5. oracle只匹配中文,Oracle 实现 一个关键字 匹配多个 字段
  6. WPF圆角按钮与触发颜色变化
  7. Jenkins 配置mirrors
  8. springboot 接入京东sdk_【第3期】Springboot:微信公众号分享quot;朋友圈quot;
  9. 最新彩虹DS仿小储云模板源码
  10. IT 架构测试之基础架构运维测试简介
  11. 金蝶K3案例教程成本报表
  12. 2.3两个列表或元组首尾相连
  13. 快速了解Mybatis Plus 的用法以及使用举例
  14. 马未都说收藏:陶瓷篇(18、19)五彩瓷、斗彩
  15. dev c++怎么设置断点_怎么在FTP中使用代理(FLASHFXP代理设置教程)
  16. IE 7打开网页慢解决方法
  17. 如何克服学习过程中的焦虑?
  18. 解决Illegal unquoted character ((CTRL-CHAR, code 13)): has to be escaped using backslash to be include
  19. 【RTSP/RTP流媒体】10、编写简单的RTSP客户端
  20. 三个文本框自定义数字抽奖机

热门文章

  1. Error【1146】:Table ‘xxx.xxx‘ doesn‘t exist问题原因及解决方法
  2. 关于重要函数splice()的介绍以及运用
  3. 计算机应用基础是文管二级吗,计算机应用基础
  4. 聊一聊在移动互联网时代做一个桌面应用
  5. [FROM WOJ]#3805 OSU!
  6. 计算机毕设源码网站基于SpringBoot的阳光线上交友系统
  7. java获取当前年月日历_获取当前月日历
  8. Ubuntu下FastDFS的安装
  9. matlab计算数据MEA与RMSE误差指标
  10. 如何保住一个人一生的劳动果实