DBMS_RESOURCE_MANAGER.CALIBRATE_IO测试oracle的iops和延迟

Introduced in Oracle Database 11g Release 1, the CALIBRATE_IO procedure gives an idea of the capabilities of the storage system from within Oracle. There are a few restrictions associated with the procedure.

  • The procedure must be called by a user with the SYSDBA priviledge.
  • TIMED_STATISTICS must be set to TRUE, which is the default when STATISTICS_LEVEL is set to TYPICAL.
  • Datafiles must be accessed using asynchronous I/O. This is the default when ASM is used.

SQL> SQL> SELECT d.name,

2 i.asynch_io

3 FROM v$datafile d,

4 v$iostat_file i

5 WHERE d.file# = i.file_no

6 AND i.filetype_name = 'Data File';

NAME


ASYNCH_IO


+DATA/JYC/DATAFILE/system.259.1216240375

ASYNC_ON

+DATA/JYC/DATAFILE/sysaux.260.1216240429

ASYNC_ON

+DATA/JYC/DATAFILE/undotbs1.261.1216240455

ASYNC_ON

NAME


ASYNCH_IO


+DATA/JYC/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.267.1216240805

ASYNC_ON

+DATA/JYC/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.268.1216240805

ASYNC_ON

+DATA/JYC/DATAFILE/users.262.1216240455

ASYNC_ON

NAME


ASYNCH_IO


+DATA/JYC/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.269.1216240805

ASYNC_ON

+DATA/JYC/DATAFILE/undotbs2.271.1216241127

ASYNC_ON

+DATA/JYC/42B133224FC259CDE0634CCFA8C0B908/DATAFILE/system.276.1216241607

ASYNC_ON

NAME


ASYNCH_IO


+DATA/JYC/42B133224FC259CDE0634CCFA8C0B908/DATAFILE/sysaux.277.1216241607

ASYNC_ON

+DATA/JYC/42B133224FC259CDE0634CCFA8C0B908/DATAFILE/undotbs1.275.1216241607

ASYNC_ON

+DATA/JYC/42B133224FC259CDE0634CCFA8C0B908/DATAFILE/undo_2.279.1216241665

ASYNC_ON

NAME


ASYNCH_IO


+DATA/JYC/42B133224FC259CDE0634CCFA8C0B908/DATAFILE/users.280.1216241667

ASYNC_ON

13 rows selected.Elapsed: 00:00:00.17

SQL> show parameter STATISTICS_LEVEL ;

NAME TYPE VALUE


client_statistics_level string TYPICAL

statistics_level string TYPICAL

SQL>

oracle@rac1:/home/oracle\]$ sqlplus / as sysdba SQL\*Plus: Release 19.0.0.0.0 - Production on Sun Nov 23 14:07:13 2025 Version 19.9.0.0.0 Copyright (c) 1982, 2020, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.9.0.0.0 SQL\> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB READ WRITE NO SQL\> alter session set container=pdb; Session altered. SQL\> SET SERVEROUTPUT ON DECLARE l_latency PLS_INTEGER; l_iops PLS_INTEGER; l_mbps PLS_INTEGER; BEGIN DBMS_RESOURCE_MANAGER.calibrate_io (num_physical_disks => 1, max_latency => 20, max_iops => l_iops, max_mbps => l_mbps, actual_latency => l_latency); DBMS_OUTPUT.put_line('Max IOPS = ' || l_iops); DBMS_OUTPUT.put_line('Max MBPS = ' || l_mbps); DBMS_OUTPUT.put_line('Latency = ' || l_latency); END; / SQL\> DECLARE \* ERROR at line 1: ORA-65040: operation not allowed from within a pluggable database ORA-06512: at "SYS.DBMS_RMIN_SYS", line 4469 ORA-06512: at "SYS.DBMS_RESOURCE_MANAGER", line 1210 ORA-06512: at line 6 SQL\> conn / as sysdba Connected. SQL\> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB READ WRITE NO SQL\> set timing on SQL\> SET SERVEROUTPUT ON DECLARE l_latency PLS_INTEGER; l_iops PLS_INTEGER; l_mbps PLS_INTEGER; BEGIN DBMS_RESOURCE_MANAGER.calibrate_io (num_physical_disks =\> 1, max_latency =\> 20, max_iops =\> l_iops, SQL\> 2 3 4 5 6 7 8 9 max_mbps =\> l_mbps, 10 actual_latency =\> l_latency); 11 12 DBMS_OUTPUT.put_line('Max IOPS = ' \|\| l_iops); 13 DBMS_OUTPUT.put_line('Max MBPS = ' \|\| l_mbps); 14 DBMS_OUTPUT.put_line('Latency = ' \|\| l_latency); 15 END; 16 / max_iops = 157 latency = 49.277 max_mbps = 19 Note: The high I/O latencies from the calibration run indicate that the calibration I/Os are being serviced mostly from disk. If your storage has a cache, you may achieve better results by rerunning. Rerunning will warm or populate the storage cache. Max IOPS = 157 Max MBPS = 19 Latency = 49 PL/SQL procedure successfully completed. Elapsed: 00:09:13.27 SET LINESIZE 100 COLUMN start_time FORMAT A20 COLUMN end_time FORMAT A20 SELECT TO_CHAR(start_time, 'DD-MON-YYY HH24:MI:SS') AS start_time, TO_CHAR(end_time, 'DD-MON-YYY HH24:MI:SS') AS end_time, max_iops, max_mbps, max_pmbps, latency, num_physical_disks AS disks FROM dba_rsrc_io_calibrate; SQL\> SET LINESIZE 100 SQL\> COLUMN start_time FORMAT A20 SQL\> COLUMN end_time FORMAT A20 SQL\> SQL\> SELECT TO_CHAR(start_time, 'DD-MON-YYY HH24:MI:SS') AS start_time, 2 TO_CHAR(end_time, 'DD-MON-YYY HH24:MI:SS') AS end_time, 3 max_iops, 4 max_mbps, 5 max_pmbps, 6 latency, 7 num_physical_disks AS disks 8 FROM dba_rsrc_io_calibrate; START_TIME END_TIME MAX_IOPS MAX_MBPS MAX_PMBPS LATENCY DISKS -------------------- -------------------- ---------- ---------- ---------- ---------- ---------- 23-NOV-025 14:07:45 23-NOV-025 14:16:58 157 19 19 49.277 1 Elapsed: 00:00:00.07 SQL\> ![](https://i-blog.csdnimg.cn/direct/18d870857ddc48ea83af44184e50c89f.png) [https://oracle-base.com/articles/misc/measuring-storage-performance-for-oracle-systems](https://oracle-base.com/articles/misc/measuring-storage-performance-for-oracle-systems "https://oracle-base.com/articles/misc/measuring-storage-performance-for-oracle-systems")

相关推荐
Σίσυφος1900几秒前
PCL法向量估计 之 方向约束法向量(Orientation Guided Normal)
数据库
老毛肚4 分钟前
手写mybatis
java·数据库·mybatis
海山数据库9 分钟前
移动云大云海山数据库(He3DB)postgresql_anonymizer插件原理介绍与安装
数据库·he3db·大云海山数据库·移动云数据库
云飞云共享云桌面13 分钟前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
2501_9279935321 分钟前
SQL Server 2022安装详细教程(图文详解,非常详细)
数据库·sqlserver
星火s漫天22 分钟前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask
xcLeigh27 分钟前
Python 项目实战:用 Flask 实现 MySQL 数据库增删改查 API
数据库·python·mysql·flask·教程·python3
威迪斯特27 分钟前
Flask:轻量级Web框架的技术本质与工程实践
前端·数据库·后端·python·flask·开发框架·核心架构
xu_yule29 分钟前
Redis存储(15)Redis的应用_分布式锁_Lua脚本/Redlock算法
数据库·redis·分布式
一灰灰blog1 小时前
Spring AI中的多轮对话艺术:让大模型主动提问获取明确需求
数据库·人工智能·spring