oracle filesystemio_options设置

来源:互联网 发布:软件研发项目立项 编辑:程序博客网 时间:2024/06/10 19:48

这个参数在线上应该如何设置会比较适合?

oracle支持内核的异步io,在裸设备上默认是师兄异步io的。asm默认使用异步io

disk_asynch_io参数默认情况下是设置成true的,为了在文件系统上使用异步io,确保
1确保文件系统支持异步io
2设置filesystemio_options为asynch setall 这个是开启文件系统的参数,只对文件系统有效

DISK_ASYNCH_IO控制数据文件,控制文件和日志文件的I / O是否是异步的(也就是说,表扫描期间并行服务器进程是否可以与CPU处理的I / O请求重叠)。 如果您的平台支持异步I / O到磁盘,Oracle建议您将此参数设置为其默认值。 但是,如果异步I / O实现不稳定,则可以将此参数设置为false以禁用异步I / O。 如果您的平台不支持磁盘异步I / O,则此参数不起作用。

FILESYTEMIO_OPTIONS can be set to one of the following values:

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.

Oracle recommends to set parameter filesystemio_options to value ‘setall’ but it is not always good practise especially when SGA is small. setting it to setall lets your Oracle DB perform I/O operations without going to file system cache and it saves overhead of double caching but if SGA is smaller and DB host machine has large free memory then it is not good to set this parameter to value setall. In this case you should increase DB_CACHE_SIZE and only then set filesystemio_options to setall.

异步io可能会导致坏块,所以没有dg情况下,最好禁用

在有db_file_parallel_wait等待高的情况下,可以试着禁用异步io

在异步io性能不如同步io的情况下,关闭异步io,可以调大dbwriter_processes,使用dbwr_io_slaves
sga小的情况下,也不适合设置setall
redhat6上的ext4上设置改参数setall可能会有问题
https://access.redhat.com/solutions/519883

disk_asynch_io是相当于主开关,不管是文件系统还是raw,控制着异步io的开启与关闭,filesystemio_options是子开关,控制着文件系统上的异步io。所以如果你的库只用了文件系统,那么异步io只是受filesystemio_options控制。

原创粉丝点击