Oracle 10g on Solaris 10 non-global zones with asynchronous I/O

From: Bruce <brucemcgill.nyc_at_gmail.com>
Date: Wed, 10 Mar 2010 22:55:34 -0800 (PST)
Message-ID: <8a201bff-2120-4c1b-9d99-c47cc1de649c_at_x1g2000prb.googlegroups.com>



Hi All,

I note that using direct I/O (by setting the forcedirectio while mounting the database file systems) and bypassing the file system cache may improve database performance significantly, but this should be done only for file systems in which database files and redo log files exist. If direct I/O is used and there is not enough database buffer cache, it may even decrease the performance by moving the problem from double buffering to a lack of database buffer cache. So, this performance tuning must be planned carefully, and the database buffer cache should be sized properly. The direct I/O option should not be used for other file systems used by other applications because they still need the UFS buffer cache.

Now, I have Oracle database installed inside a non-global zone and I see a lot of Asynchronous I/O wait warnings in the Oracle Alert log file. Storage mount points with UFS filesystem contain the Oracle datafiles and redo log files. In addition, two Oracle datafiles of 10 GB each reside on the local disks. The Oracle init.ora parameter to set asynchronous I/O for Oracle database files is FILESYSTEMIO_OPTIONS= SETALL. Although the above parameter was set during the database installation, the aiowait warnings don't seem to disappear.

Can I use the "forcedirectio" option at the Operating System /etc/ vfstab file for Oracle datafiles and redo log files?

Or, should I just move the Oracle database files residing on the local disks to the external storage? Will this take care of aiowait warnings and if yes, how? The storage is a DAS.

Regards,
Bruce Received on Thu Mar 11 2010 - 00:55:34 CST

Original text of this message