Chapter 12. Enabling Asynchronous I/O and Direct I/O Support

Asynchronous I/O permits Oracle to continue processing after issuing I/Os requests which leads to higher I/O performance. Red Hat Enterprise Linux also allows Oracle to issue multiple simultaneous I/O requests with a single system call. This reduces context switch overhead and allows the kernel to optimize disk activity.
To enable asynchronous I/O in Oracle Database, it is necessary to relink Oracle 9i and 10g Release 1.

Note

10g Release 2 is shipped with asynchronous I/O support enabled and does not need to be relinked. But you may have to apply a patch, see below.

12.1. Relinking Oracle9i R2 to Enable Asynchronous I/O Support

Note

Oracle 9iR2 on Red Hat Enterprise Linux 3, 4 and 5 the 9.2.0.4 patchset or higher needs to be installed together with another patch for asynchronous I/O, see Metalink Note:279069.1.
To relink Oracle 9i R2 for asynchronous I/O, execute the following commands:
# shutdown Oracle
SQL> shutdown

su - oracle
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk async_on
$ make -f ins_rdbms.mk ioracle

# The last step creates a new "oracle" executable "$ORACLE_HOME/bin/oracle".
# 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.
If asynchronous I/O needs to be disabled, execute the following commands:
# shutdown Oracle
SQL> shutdown

su - oracle
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk async_off
$ make -f ins_rdbms.mk ioracle