IO方面和ORION工具的使用

参考文档: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

猜你喜欢

转载自blog.csdn.net/xxzhaobb/article/details/80463089