Direct I-O Enabling
Direct I-O Enabling
Direct I-O Enabling
Oracle recommends that all database files use Direct I/O, which is a disk access method that
bypasses the additional overhead on the OS buffer. One important exception to this rule is the
archived redo log filesystem which should use OS buffer caching. The following information
details the method for ensuring that the OS uses Direct I/O:
To enable async I/O in Oracle, the disk_asynch_io parameter needs to be set to true:
disk_asynch_io=true
Note this parameter is set to true by default in Oracle 9i and 10g:
SQL> show parameter disk_asynch_io;
If you use filesystems instead of raw devices, block devices (available in 10gR2) or
ASM for datafiles, then you need to ensure that the datafiles reside on filesystems that
support asynchronous I/O (e.g., OCFS/OCFS2, ext2, ext3). To do async I/O on
filesystems the filesystemio_options parameter needs to be set to "asynch" in
addition to disk_asynch_io=true:
filesystemio_options=asynch
This parameter is platform-specific. By default, this parameter is set to none for Linux
and thus needs to be changed:
SQL> show parameter filesystemio_options;
If you also want to enable Direct I/O Support which is available in RHEL 3/4,
set filesystemio_options to "setall".
Ensure that the datafiles reside on filesystems that support asynchronous I/O (e.g.,
OCFS, ext2, ext3).
Note:
On Linux, Automatic Storage Management uses asynchronous I/O by
default. Asynchronous I/O is not supported for database files stored on NFS
file systems.
Oracle Database supports kernel asynchronous I/O. This feature is disabled by default.
By default, the DISK_ASYNCH_IO initialization parameter in the parameter file is set to TRUE
to enable asynchronous I/O on raw devices. To enable asynchronous I/O on file system
files:
1. Ensure that all Oracle Database files are located on file systems that support
asynchronous I/O.
2. Set the FILESYSTEMIO_OPTIONS initialization parameter in the parameter file to one of
the following values:
Linux Distribution Recommended Value
SUSE Linux Enterprise Server 9 SETALL
Other distributions ASYNCH
3.
Direct I/O support is available and supported on Red Hat Enterprise Linux 3 and SUSE
Linux Enterprise Server 9.
Note:
To use direct I/O on Red Hat Enterprise Linux 3, the driver that you use must support
vary I/O.
On Linux on POWER, you can use direct I/O on Red Hat Linux 4.