博客
关于我
Oracle Orion tool check io(ORACLE Orion 工具查看以及校验IO)
阅读量:413 次
发布时间:2019-03-06

本文共 2582 字,大约阅读时间需要 8 分钟。

文档主要来自oracle官方文档performance 8.3章节

Oracle数据库提供了Orion,一种 I/O校准工具。Orion是预测Oracle数据库性能的工具,无需安装Oracle或创建数据库。与其他 I/O校准工具不同,Oracle Orion专门用于使用与Oracle相同的 I/O软件堆栈来模拟Oracle数据库 I/O工作负载。Orion还可以模拟Oracle自动存储管理所执行的条带化的效果。

1、先决条件

在运行 I/O 校准之前,请确保满足以下要求:
用户必须被授予SYSDBA特权
timed_statistics 必须设置为 TRUE
异步 I/O 必须启用

当使用文件系统,异步 I/O 可以通过设置来启用FILESYSTEMIO_OPTIONS初始化参数SETALL。

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';

2、运行 I/O 校准

Oracle数据库的I/O校准功能可以使用DBMS_RESOURCE_MANAGER.CALIBRATE_IO程序。

此过程向数据库文件发出I/O密集型只读工作负载(由1兆字节的随机I/O组成),以确定最大IOPS(每秒I/O请求)和MBPS(兆字节I/O每秒),可以由存储子系统维持

I/O校准分两步进行:

2.1 在 I/O 校准的第一步中DBMS_RESOURCE_MANAGER.CALIBRATE_IO过程时,过程将发出随机数据库块大小的读取(默认情况下,为8 KB),以便从所有数据库实例的所有数据文件中读取。
此步骤在输出参数max_iops中提供数据库可以承受的最大IOPS 。该值max_iops是OLTP数据库的重要指标。输出参数actual_latency为此工作负载提供平均延迟。
当需要特定的目标延迟时,可以使用输入参数指定目标延迟max_latency(指定数据库块大小的IO请求的最大可容忍延迟(以毫秒为单位))。

2.2 校准的第二步使用DBMS_RESOURCE_MANAGER.CALIBRATE_IO过程问题随机,1 MB读取所有数据库实例中的所有数据文件。
第二步产生输出参数max_mbps,该参数指定数据库可以承受的I / O的最大MBPS。这一步为数据仓库提供了一个重要的指标。
如果用户提供num_physical_disks输入参数(指定数据库存储系统中物理磁盘的大致数量),那么校准运行更有效。
由于运行 I/O工作负载的开销,I/O校准只能在数据库处于空闲状态或在非高峰时段执行,以尽量减少I / O工作负载对正常数据库工作负载的影响。
要运行 I/O 校准并评估Oracle数据库使用的存储子系统的I/O功能,请使用DBMS_RESOURCE_MANAGER.CALIBRATE_IO程序。

当运行DBMS_RESOURCE_MANAGER.CALIBRATE_IO程序,请考虑以下事项:

1、一次只能在使用相同存储子系统的数据库上运行一次校准。如果同时在使用相同存储子系统的单独数据库上运行校准,则校准将失败。
2、停顿数据库以最小化实例上的I/O。
3、 对于Oracle Real Application Clusters(Oracle RAC)配置,确保打开所有实例以跨节点校准存储子系统。
4、对于Oracle Real Application Clusters(Oracle RAC)数据库,同时从所有实例生成工作负载。
5、 该num_physical_disks输入参数是可选。通过将num_physical_disks参数设置为数据库存储系统中物理磁盘的近似数量,校准可以更快,更准确。
6、 在某些情况下,数据文件可以使用异步I/O,但用于提交异步I/O 的I/O子系统可能会最大化,并且I/O校准无法继续。在这种情况下,请参阅端口特定文档以获取有关检查系统上异步I/O的最大限制的信息。
在I/O校准过程中的任何时候,您都可以在V$IO_CALIBRATION_STATUS视图中查询校准状态。I/O校准成功完成后,您可以在DBA_RSRC_IO_CALIBRATE表格中查看结果。
select * from V$IO_CALIBRATION_STATUS;

select * from DBA_RSRC_IO_CALIBRATE;

官方模板如下:

SET SERVEROUTPUT ON

DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
DBMS_RESOURCE_MANAGER.CALIBRATE_IO (<DISKS>, <MAX_LATENCY>, iops, mbps, lat);
DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);
DBMS_OUTPUT.PUT_LINE ('latency = ' || lat);
dbms_output.put_line('max_mbps = ' || mbps);
end;
/

我测试的如下:

SET SERVEROUTPUT ON

DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
DBMS_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;
/

结果如下:

max_iops = 13032

latency = 10
max_mbps = 253

PL/SQL procedure successfully completed.

 

转载地址:http://ghouz.baihongyu.com/

你可能感兴趣的文章
对模拟器虚假设备识别能力提升15%!每日清理大师App集成系统完整性检测
查看>>
使用Power BI构建数据仓库与BI方案
查看>>
tep用户手册帮你从unittest过渡到pytest
查看>>
12张图打开JMeter体系结构全局视角
查看>>
Spring Boot 2.x基础教程:构建RESTful API与单元测试
查看>>
[UWP 自定义控件]了解模板化控件(1):基础知识
查看>>
UWP 自定义控件:了解模板化控件 系列文章
查看>>
[UWP]从头开始创建并发布一个番茄钟
查看>>
WinUI 3 Preview 3 发布了,再一次试试它的性能
查看>>
使用命令把SpringBoot项目打包成可运行的jar包(简洁,操作性强)
查看>>
List数组排序
查看>>
VMware vSphere 离线虚拟机安装 BIND 9
查看>>
dojo/request模块整体架构解析
查看>>
Javascript定时器学习笔记
查看>>
dojo的发展历史
查看>>
Python存储系统(Redis)
查看>>
C语言指针收藏
查看>>
C#搞个跨平台的桌面NES游戏模拟器
查看>>
手把手教你安装Eclipse最新版本的详细教程 (非常详细,非常实用)
查看>>
互联网App应用程序测试流程及测试总结
查看>>