dbms_resource_manager.calibrate_io测试数据库IO性能

fightgirl 2016-10-14

在Oracle 11g中dbms_resource_manager PL/SQL包提供了calibrate_io过程可以用来对Oracle数据库的IO子系统进行IO能力测试,其使用方法如下:
SQL> SET SERVEROUTPUT ON
SQL> DECLARE
  2  lat INTEGER;
  3  iops INTEGER;
  4  mbps INTEGER;
  5  BEGIN
  6  -- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (, , iops, mbps, lat);
  7  DBMS_RESOURCE_MANAGER.CALIBRATE_IO (2, 10, iops, mbps, lat);
  8  DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);
  9  DBMS_OUTPUT.PUT_LINE ('latency = ' || lat);
 10  dbms_output.put_line('max_mbps = ' || mbps);
 11  end;
 12  /

max_iops = 2643
latency = 8
max_mbps = 388

PL/SQL procedure successfully completed

 

上面的输出信息中的max_iops=2643,说明IO子系统的每秒IO请求次数是2643次,latency=8,说明IO子系统的延迟是8ms。max_mbps=388,说明每少的最大处理能力是388MB。

在dbms_resource_manager.calibrate_io执行时可以查看其状态
SQL> select * from V$IO_CALIBRATION_STATUS;

STATUS        CALIBRATION_TIME
------------- -----------------------------
IN PROGRESS


在dbms_resource_manager.calibrate_io执行完后可以查看其结果
SQL> select * from DBA_RSRC_IO_CALIBRATE;

START_TIME                        END_TIME                          MAX_IOPS  MAX_MBPS  MAX_PMBPS    LATENCY NUM_PHYSICAL_DISKS
---------------------------------- -------------------------------- ---------- ---------- ---------- ---------- ------------------
11-OCT-16 04.53.17.202399 PM      11-OCT-16 05.02.21.056682 PM          2643        388        39          8                  2

这个功能相对于Oracle提供的Orion工具来说使用更简单,但它必须创建数据库并且在11g及以后版本才能使用。

相关推荐