oracle异步IO之filesystemio_options参数初探(二)

2015-07-21 16:26:43 · 作者: · 浏览: 4
查看异步IO是生效的。我们知道异步IO是通过软件层面实现的,为什么生产环境下集群系统会自动启用呢?这跟oracle集群有关系嘛?带着疑问,在实验环境下启动一套集群环境。

[root@node1 ~]# grep kio /proc/slabinfo

kioctx 108 108 320 12 1 : tunables 54 27 8 : slabdata 9 9 0

kiocb 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0

?

SQL> show parameter file

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest string +RCY1

db_recovery_file_dest_size big integer 3552M

db_securefile string PERMITTED

dg_broker_config_file1 string /u01/app/oracle/product/11.2.0

/db_1/dbs/dr1xcky.dat

dg_broker_config_file2 string /u01/app/oracle/product/11.2.0

/db_1/dbs/dr2xcky.dat

file_mapping boolean FALSE

fileio_network_adapters string

filesystemio_options string none

ifile file

发现集群环境下,参数没有设置,而且异步IO也没能启动。

尝试修改参数。

SQL> alter system set filesystemio_options=setall scope=spfile;

System altered.

但是遇到了问题。

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

?

SQL> startup;

ORACLE instance started.

Total System Global Area 730714112 bytes

Fixed Size 2216944 bytes

Variable Size 557845520 bytes

Database Buffers 167772160 bytes

Redo Buffers 2879488 bytes

Database mounted.

Database opened.

?

SQL> show parameter file;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest string +RCY1

db_recovery_file_dest_size big integer 3552M

db_securefile string PERMITTED

dg_broker_config_file1 string /u01/app/oracle/product/11.2.0

/db_1/dbs/dr1xcky.dat

dg_broker_config_file2 string /u01/app/oracle/product/11.2.0

/db_1/dbs/dr2xcky.dat

file_mapping boolean FALSE

fileio_network_adapters string

filesystemio_options string SETALL

ifile file

设置成功了,但是在操作系统下看一下,如下:

[oracle@node1 dbs]$ grep kio /proc/slabinfo

kioctx 104 108 320 12 1 : tunables 54 27 8 : slabdata 9 9 0

kiocb 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0

到第2个节点也查看一下,如下:

SQL> show parameter filesystemio_options;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

filesystemio_options string SETALL

SQL>

[oracle@node2 dbs]$ grep kio /proc/slabinfo

kioctx 103 108 320 12 1 : tunables 54 27 8 : slabdata 9 9 0

kiocb 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0

下面尝试把参数值设置为asynch(异步),来看一下是否会有所改变呢?

SQL> alter system set filesystemio_options=asynch scope=spfile;

System altered.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 730714112 bytes

Fixed Size 2216944 bytes

Variable Size 557845520 bytes

Database Buffers 167772160 bytes

Redo Buffers 2879488 bytes

Database mounted.

Database opened.

到操作系统下查看,异步依旧没有生效,如下:

[oracle@node1 dbs]$ grep kio /proc/slabinfo

kioctx 101 108 320 12 1 : tunables 54 27 8 : slabdata 9 9 0

kiocb 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0

从上面的现象来看,在我使用的虚拟机RAC环境下,异步I/O并没有实现,实验失败。

小结:

1、对于filesystemio_options产生的异步I/O现象,单实例下测试成功;

2、对于filesystemio_options产生的异步I/O现象,生成库RAC下,无需设置,可能异步I/O是在存储层面启动了(猜测,可能不是这样的。。。);

3、对于filesystemio_options产生的异步I/O现象,单机实验RAC下,测试不成功,没有达到预期。

所以,对于filesystemio_options参数设置对于异步I/O所起到的左右,仍然存疑。