@(Oracle)
前面介绍了Oracle的基本参数,从这节开始讲其他的参数,参数从v$parameter中提取
基本参数请看如下链接:
[http://www.zhaibibei.cn/oralce/oracle-parameter/](http://www.zhaibibei.cn/oralce/oracle-parameter/)
如无特殊说明数据库版本为11.2
-------
**filesystemio_options**
[image:301 size:orig]
1. 参数类型:字符串
2. 语法: 		FILESYSTEMIO_OPTIONS = { none | setall | directIO | asynch }
3. 默认值: 		无
4. 修改需重启实例
6. 基本参数
--------
该参数用于启用或禁用文件系统的asynchronous I/O 或direct I/O 
默认值一般为该平台的最优值
ASYNCH: enable asynchronous I/O on file system files, which has no timing requirement for transmission.
DIRECTIO: enable direct I/O on file system files, which bypasses the buffer cache.
SETALL: enable both asynchronous and direct I/O on file system files.
NONE: disable both asynchronous and direct I/O on file system files.
------------
**asynchronous I/O**
当synchronous I/O 请求提交后,writing 进程 会在操作完成后才能继续响应请求
而asynchronous I/O,则可以同时接受其他请求
-----------
**direct I/O**
Oracle 本身会将数据缓冲在buffer cache中
操作系统的文件系统(ext3等)也会将数据缓存在它的缓存中
这样就有两部分的缓存了 这时我们可以启用direct I/O 
当数据库需要数据的时候,跳过操作系统层面的缓存,直接读取裸设备数据
这样可以减少CPU消耗
direct I/O时会以O_DIRECT标志打开一个文件
如果awr报告中TOP5 等待时间为读相关的(db file sequential read ,db file scattered read )则推荐启用
但前提是这些等待是合理的,即没有对于的全表扫描等
------------
**实际截图:**
[image:302 size:orig]
-----
**参考连接**
[https://docs.oracle.com/cd/E18283_01/server.112/e17110/initparams090.htm](https://docs.oracle.com/cd/E18283_01/server.112/e17110/initparams090.htm)
[DIRECT I/O](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/global_file_system/s1-manage-direct-io)
[https://oracle-base.com/articles/misc/direct-and-asynchronous-io](https://oracle-base.com/articles/misc/direct-and-asynchronous-io)
----------
下期参数
**dnfs_batch_size**