@(Oracle)
前面介绍了Oracle的基本参数,从这节开始讲其他的参数,参数从v$parameter中提取
基本参数请看如下链接: http://www.zhaibibei.cn/oralce/oracle-parameter/
如无特殊说明数据库版本为11.2
filesystemio_options
该参数用于启用或禁用文件系统的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 )则推荐启用
但前提是这些等待是合理的,即没有对于的全表扫描等
实际截图:
参考连接
https://docs.oracle.com/cd/E18283_01/server.112/e17110/initparams090.htm
https://oracle-base.com/articles/misc/direct-and-asynchronous-io
下期参数
dnfs_batch_size