|
 |
|
Oracle Tips by Burleson |
Tuning the Buffer Cache
The buffer cache is the area in memory where
data is stored from data tables, indexes, rollback segments,
clusters, and sequences. By ensuring that enough buffers are
available for storage of these data items, you can speed execution
by reducing required disk reads. In Oracle7 and early Oracle8
releases, you only had the “normal” buffer area to worry about. To
Oracle8i was added the capability to subdivide this buffer area into
KEEP and RECYCLE buffer areas. Later in this section, we will
examine how these areas interact and how they should be tuned and
sized. To add to the complexity you can, in Oracle9i, also have
multiple areas inside the buffers that do not have the same
blocksize as the rest of the database. We will cover that in the
Oracle9i tuning section.
If DB_BLOCK_BUFFERS is set too high, you may
exceed shared memory size on UNIX or NT for your instance. Another
possible result is that the entire Oracle process could be swapped
out due to memory contention with other processes. In either case,
it is not a desirable condition. To avoid exceeding shared memory
area size, be sure you set these operating system values (on UNIX)
high when the instance is created. To avoid swapping, know how much
memory you are able to access; talk with your system administrator
to find this out.
Tuning the Multipart Oracle8, Oracle8i,
and Oracle9i Buffer Cache
In
Oracle8 and Oracle8i, the database block buffer has been split into
three possible areas: the default, keep, and recycle buffer pool
areas. It is not required that these three pools be used, only one:
the default pool, which must be configured with the DB_BLOCK_BUFFERS
or DB_CACHE_SIZE (in Oracle9i, this should be used instead of
DB_BLOCK_BUFFERS) initialization parameters; the others are “sub”
pool to this main pool.
See Code Depot

www.oracle-script.com |