VERITAS Storage Foundation 4.1 Oracle Administrator's Guide

Understanding Cached Quick I/O Prerelease 8 September 2005, 8:54am
110 VERITAS Storage Foundation for Oracle Administrator’s Guide
Understanding Cached Quick I/O
How Cached Quick I/O Works
Cached Quick I/O is a specialized external caching mechanism specifically suitable to 32-bit ports
of the Oracle server. Cached Quick I/O can be used on 64-bit ports of the Oracle server, but the
benefits are not as great. Cached Quick I/O can be selectively applied to datafiles that are suffering
an undesirable amount of physical disk I/O due to insufficient Oracle System Global Area (SGA).
Cached Quick I/O works by taking advantage of the available physical memory that is left over
after the operating system reserves the amount it needs and the Oracle SGA disk block buffers
cache has been sized to the maximum capacity allowed within a 32-bit virtual address space. This
extra memory serves as a cache to store file data, effectively serving as a second-level cache
backing the SGA.
For example, consider a system configured with 12GB of physical memory, an operating system
using 1GB, and a total Oracle size of 3.5GB. Unless you have other applications running on your
system, the remaining 7.5GB of memory is unused. If you enable Cached Quick I/O, these
remaining 7.5GB become available for caching database files.
Note You cannot allocate specific amounts of the available memory to Cached Quick I/O. When
enabled, Cached Quick I/O takes advantage of available memory.
Cached Quick I/O is not beneficial for all files in a database. Turning on caching for all database
files can degrade performance due to extra memory management overhead (double buffer
copying). You must use file I/O statistics to determine which individual database files benefit from
caching, and then enable or disable Cached Quick I/O for individual files.
If you understand the applications that generate load on your database and how this load changes at
different times during the day, you can use Cached Quick I/O to maximize performance. By
enabling or disabling Cached Quick I/O on a per-file basis at different times during the day, you are
using Cached Quick I/O to dynamically tune the performance of a database.
For example, files that store historical data are not generally used during normal business hours in a
transaction processing environment. Reports that make use of this historical data are generally run
during off-peak hours when interactive database use is at a minimum. During normal business
hours, you can disable Cached Quick I/O for database files that store historical data in order to
maximize memory available to other user applications. Then, during off-peak hours, you can
enable Cached Quick I/O on the same files when they are used for report generation. This will
provide extra memory resources to the database server without changing any database
configuration parameters. Enabling file system read-ahead in this manner and buffering read data
can provide great performance benefits, especially in large sequential scans.