参考文档:https://docs.oracle.com/cd/E11882_01/server.112/e41573/iodesign.htm#PFGRF95234
查看是否开启异步IO,并开启异步IO,开启异步IO有先决条件
SYS@test>show parameter timed_st
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
timed_statistics boolean TRUE
SYS@test>show parameter FILESYSTEMIO_OPTIONS
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
filesystemio_options string none
SYS@test>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';SYS@test> 2 3
NAME ASYNCH_IO
-------------------------------------------------- ---------
/u01/app/oracle/oradata/test/system01.dbf ASYNC_OFF
/u01/app/oracle/oradata/test/sysaux01.dbf ASYNC_OFF
/u01/app/oracle/oradata/test/undotbs01.dbf ASYNC_OFF
/u01/app/oracle/oradata/test/users01.dbf ASYNC_OFF
/u01/app/oracle/oradata/test/example01.dbf ASYNC_OFF
/u01/app/oracle/oradata/test/gguser.dbf ASYNC_OFF
/u01/app/oracle/oradata/test/lob_tbs01.dbf ASYNC_OFF
7 rows selected.
SYS@test>
修改为异步IO 。 修改参数
SYS@test>alter system set timed_statistics=true;
System altered.
SYS@test>alter system set FILESYSTEMIO_OPTIONS=SETALL scope=spfile;
System altered.
-- 查询结果
SYS@test>SELECT NAME,ASYNCH_IO FROM V$DATAFILE F,V$IOSTAT_FILE I
WHERE F.FILE#=I.FILE_NO
AND FILETYPE_NAME='Data File'; 2 3
NAME ASYNCH_IO
-------------------------------------------------- ---------
/u01/app/oracle/oradata/test/system01.dbf ASYNC_ON
/u01/app/oracle/oradata/test/sysaux01.dbf ASYNC_ON
/u01/app/oracle/oradata/test/undotbs01.dbf ASYNC_ON
/u01/app/oracle/oradata/test/users01.dbf ASYNC_ON
/u01/app/oracle/oradata/test/example01.dbf ASYNC_ON
/u01/app/oracle/oradata/test/gguser.dbf ASYNC_ON
6 rows selected.
SYS@test>
开始执行
SET SERVEROUTPUT ON
DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
-- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (<DISKS>, <MAX_LATENCY>, iops, mbps, lat);
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;
/
查看状态
SYS@test>select * from V$IO_CALIBRATION_STATUS;
STATUS
-------------
CALIBRATION_TIME
---------------------------------------------------------------------------
IN PROGRESS
SYS@test>
查看结果
SYS@test>SET SERVEROUTPUT ON
DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
-- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (<DISKS>, <MAX_LATENCY>, iops, mbps, lat);
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;
/SYS@test> 2 3 4 5 6 7 8 9 10 11 12 13
max_iops = 55
latency = 17
max_mbps = 36
PL/SQL procedure successfully completed.
SYS@test>
-- 通过视图查询,是有结果的
select * from DBA_RSRC_IO_CALIBRATE
使用orion工具测试 -- 这个工具,是不受Oracle支持的,虽然在Oracle官方文档,提到了这个工具,还有具体的用法。感觉好奇怪。
[oracle@test ~]$ cat test1.lun
/dev/sda
[oracle@test ~]$ ./orion -run advanced -testname test1 -num_disks 2 -size_small 8 -size_large 8 -typ e rand
ORION: ORacle IO Numbers -- Version 11.1.0.7.0
test1_20180526_1600
Test will take approximately 16 minutes
Larger caches may take longer
storax_skgfr_openfiles: File identification failed on /dev/sda
OER 27041: please look up error in Oracle documentation
Linux-x86_64 Error: 13: Permission denied
Additional information: 2
rwbase_lio_init_luns: lun_openvols failed
rwbase_rwluns: rwbase_lio_init_luns failed
orion_thread_main: rw_luns failed
Non test error occurred
Orion exiting
[oracle@test ~]$ su root
Password:
[root@test oracle]# ./orion -run advanced -testname test1 -num_disks 2 -size_small 8 -size_large 8 - type rand
ORION: ORacle IO Numbers -- Version 11.1.0.7.0
test1_20180526_1600
Test will take approximately 16 minutes
Larger caches may take longer
[root@test oracle]#
-- 会生成这么多文件
[root@test oracle]# ll ori*
-rwxr-xr-x. 1 oracle oinstall 46350238 May 26 14:14 orion
-rw-r--r--. 1 oracle oinstall 0 May 26 14:32 orion_20180526_1432_iops.csv
-rw-r--r--. 1 oracle oinstall 0 May 26 14:32 orion_20180526_1432_lat.csv
-rw-r--r--. 1 oracle oinstall 0 May 26 14:32 orion_20180526_1432_mbps.csv
-rw-r--r--. 1 oracle oinstall 281 May 26 14:32 orion_20180526_1432_summary.txt
-rw-r--r--. 1 oracle oinstall 180 May 26 14:32 orion_20180526_1432_trace.txt
[root@test oracle]#
end