Oracle controls direct I/O with a parameter named filesystemio_options.
CIO and DIO code also requires I/O to be a multiple of the filesystem block size, which defaults to 4k on AIX.
Here is a great link for AIX direct I/O: Veritas VxFS - (including HP-UX, Solaris and AIX look for "convosyncdirect". .
Internally, the code to implement the thread model is compact and separate from the main body of Oracle Database code.Mman memory manager process, required, pMON process monitor Required pspo process spawner process Required smon system monitor Required ckpt checkpoint process (thread on Windows) that runs by default on Windows Required arco archive process (or thread on Windows) Required reco distributed recovery background process Required.Oracle 9iR2 on Red Hat Enterprise Linux 3, 4 and 5 the patchset or higher needs to be installed together with another patch for asynchronous I/O, see Metalink Note:279069.1.In typical environments, you must not set this parameter.It simplifies database administration by eliminating the need for you to directly manage potentially thousands of Oracle Database files.In addition, Direct NFS client simplifies and optimizes the NFS client configuration for database workloads.Oracle Internals Notes, direct I/O is I/O to file system based files which bypasses the operating system's file system buffer cache.# It backs up the old oracle executable to oracle_home/bin/oracleO, # it sets the correct privileges for the new Oracle executable "oracle # and moves the new executable "oracle" into the oracle_home/bin directory.Therefore the best thing to do is to avoid CIO/DIO for use with archive logs, and instead, to reduce strain on lrud, dump pages out of the VMM immediately after use by using the 'rbrw' mount option.Then issue (as user oracle) [email protected]: truss -f -t open, ioctl -u directio' sqlplus user/pass.
So beware if you have filesystemio_optionssetall and you upgrade to 10g; your I/O behavior will change.
According to this web page on direct I/O by Steve Adams: "It also avoids performance problems associated with using database block sizes that do not match the file system buffer size exactly.
Creation of New User Groups and Users for Separation of Database Administration Duties.
You can store Oracle Cluster Registry and voting files in Oracle ASM disk groups and store database data files in the data disk group.Remember, if disk I/O is not your bottleneck then making it faster will NOT improve performance.The first step to avoiding buffered IO is to use the "filesystemio_options" parameter.Oracle recommends that you use Oracle ASM instead of raw files to store data files.The default value of this parameter is 4096.Oracle Database operates the same way on Windows as it does on other platforms.See Kernel Asynchronous I/O (AIO) Support for Linux and this great OTN article: Talking Linux: ocfs Update.Also, Glen Faucett also notes tips for setting direct I/O on Sun Solaris Oracle servers using filesystemio_optionssetall of filesystemio_optionsdirectio: 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.Each OS has different commands to verify flip your classroom pdf that your instance is using direct I/O. .Through this integration, Oracle can optimize the I/O path between Oracle and the NFS server, resulting in significantly superior performance.With UFS, the only way to bypass the page cache is with directio.