2011-02-23

calibrate_io

In oracle11G, the Calibrate I/O feature is based on a PL/SQL function called DBMS_RESOURCE_MANAGER.CALIBRATE_IO(). When Calibrate I/O is invoked
it will generate I/O intensive read-only random I/O (db_block_size) and large-block
(1MByte) sequential I/O workloads. Unlike various external I/O calibration tools, this
tool uses the Oracle code stack and runs in the database, issuing I/O against blocks stored
in the database.

SET SERVEROUTPUT ON
DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
--DBMS_RESOURCE_MANAGER.CALIBRATE_IO(<NUM_DISKS>, --<MAX_LATENCY>,iops, mbps, lat);
DBMS_RESOURCE_MANAGER.CALIBRATE_IO (28, 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;
/
Note that the first two variables (NUM_DISKS, MAX_LATENCY) are input variables,
and the remaining three are output variables.


The following are other considerations before invoking Calibrate I/O:
Ensure asynchronous I/O is enabled on all datafiles and tempfiles. The following
query can be used to verify asynchronous I/O for these files.
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' or filetype_name='Temp File')

Niciun comentariu:

Trimiteți un comentariu