C:\Users\user>sqlplus sys/********@solgle_db as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 10月 17 09:37:43 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management,
OLAP,Data Mining and Real Application Testing options
SQL> set linesize 100
SQL> show parameter filesystemio_option
NAME
------------------------------------
TYPE VALUE
---------------------------------------------------------------- ---------------
---------------
filesystemio_options
string none
关于filesystemio_options的属性值
asynch 在文件系统上实现同步i/o
directio 在文件系统上实现直接i/o,跳过操作系统缓存
setall 在文件系统上实现异步i/o和直接i/o
none 在文件系统上禁用异步i/o和直接i/o
oracle 11g 已经默认设置了文件的同步及异步情况,通过以下语句可以查询
SQL> select distinct filetype_name,asynch_io from v$iostat_file order by asynch_io asc;
FILETYPE_NAME ASYNCH_IO
-------------------------------------------------------- ------------------
Archive Log ASYNC_OFF
Archive Log Backup ASYNC_OFF
Control File ASYNC_OFF
Data File Backup ASYNC_OFF
Data File Copy ASYNC_OFF
Data File Incremental Backup ASYNC_OFF
Data Pump Dump File ASYNC_OFF
Flashback Log ASYNC_OFF
Log File ASYNC_OFF
Other ASYNC_OFF
Data File ASYNC_ON
Temp File ASYNC_ON
已选择12行。
SQL>
以上是查看了oracle11g rac在linux 上和windows上的默认结果;
通过以下查询来查看所有数据文件是否异步
select name,asynch_io
from v$datafile a, v$iostat_file b
where a.file#=b.file_no
and filetype_name='Data File';
...结果类同上面的默认结果
如果要修改参数,可以用以下方式进行修改,并重启数据库
SQL> alter system set filesystemio_options=setall scope=spfile;
小结:oracle 的data file,temp file 采用async异步方式访问的,而控制文件,日志文件,备份相关文件是关闭了异步io(async_off);
同时看了linux上的单机oracle 11g dataguard 主库与备份数据库,默认为none,但是全部文件为ASYNC_OFF,这点有些奇怪。