1827849 Members
1807 Online
109969 Solutions
New Discussion

asynchronous I/O

 
SOLVED
Go to solution
Edwin Ruiz_2
Super Advisor

asynchronous I/O

How can i enable asynchronous I/O on Redhat linux 7.2... my aplicattion is very slow on a LH4 server
7 REPLIES 7
Steven E. Protter
Exalted Contributor
Solution

Re: asynchronous I/O

Here is a starting point Edwin,

http://www.redhat.com/whitepapers/rhel/AdvServerRASMpdfRev2.pdf

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
K.C. Chan
Trusted Contributor

Re: asynchronous I/O

AFAIK, this functionality comes with kernel 2.6.x. I do not think the 2.4.x kernel supports it. Correct me if I am wrong.
Reputation of a thousand years can be determined by the conduct of an hour
Edwin Ruiz_2
Super Advisor

Re: asynchronous I/O

thanks
Don_89
Trusted Contributor

Re: asynchronous I/O

I would run Advanced Server, Red Hat tuned the kernel to make this run much better than on the public distros..

If your 'application' is Oracle, you can recompile oracle to take advantage of this..

Let me know if you need details..
Edwin Ruiz_2
Super Advisor

Re: asynchronous I/O

Yes i have ORACLE product (infra) on my portal server, give more details please.. do u have documentation?
Steven E. Protter
Exalted Contributor

Re: asynchronous I/O

Red Hat Enterprise Server is the successor to Advanced Server.

Advanced Server 2.1 was certified by oracle.

Oracles's portal and app servers are very hardware intensive. The reason Advanced Server is being suggested is that you can have multiple Linux boxes in a cluster, providing flexibility, load balancing and reliability.

For the Red Hat Side:
http://www.redhat.com/apps/redirect.apm/software/rhel/?rhpage=/index.html/ent_rhel**

For the Oracle Certification Info:
http://technet.oracle.com

http://metalink.oracle.com (Paid contract required).

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Don_89
Trusted Contributor

Re: asynchronous I/O

To enable Oracle to use asynchronous I/O, it is necessary to relink Oracle. Oracle ships Oracle9iR2 with asynchronous I/O support disabled. According to Oracle, this is necessary to accommodate other Linux distributions that do not support asynchronous I/O.

Relinking Oracle to Enable Asynchronous I/O for Oracle9iR2
# 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 for any reason, run 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


Enabling Asynchronous I/O in init.ora for Raw Devices

The disk_asynch_io init.ora parameter needs to be set to true:
disk_asynch_io=true

Note that this init.ora parameter is already set to true by default:
SQL> select value, isdefault from v$parameter where name = 'disk_asynch_io';

VALUE ISDEFAULT
------------------------------ ---------
TRUE TRUE


Enabling Asynchronous I/O in init.ora for Filesystem Files

Make sure that all Oracle datafiles reside on filesystems that support asynchronous I/O (e.g. "ext2"). According to Oracle's white paper Oracle9iR2 on Linux: Performance, Reliability and Manageability Enhancements on Red Hat Linux Advanced Server 2.1", Oracle9iR2 has been certified with the standard Linux filesystem "ext2" on RH AS 2.1. In addition, Oracle has also been certified for raw devices.

The disk_asynch_io init.ora parameter needs to be set to true (same as for raw devices):

disk_asynch_io=true

Note that this init.ora parameter is already set to true by default:
SQL> select value, isdefault from v$parameter where name = 'filesystemio_options';

VALUE ISDEFAULT
------------------------------ ---------
none TRUE

SQL>


The filesystemio_options init.ora parameter needs to be set to asynch:
filesystemio_options=asynch

This init.ora parameter is platform-specific. By default, this parameter is set to none for Linux and thus needs to be changed.
SQL> select value, isdefault from v$parameter where name = 'filesystemio_options';

VALUE ISDEFAULT
------------------------------ ---------
none TRUE

SQL>

The filesystemio_options can have the following values with Oracle9iR2:
asynch: This value enables asynchronous I/O on file system files.
directio: This value enables direct I/O on file system files.
setall: This value enables both asynchronous and direct I/O on file system files.
none: This value disables both asynchronous and direct I/O on file system files.


This guy has the best site for information on running Oracle on Linux.. Werner Puschitz.

http://www.puschitz.com/TuningLinuxForOracle.shtml#SettingAsynchronousIO