| |
 |
|
Oracle Tips by Burleson |
Tuning the DBWR Process
The DBWR process manages the buffer cache. In this capacity, it
writes filled buffers from the buffer cache in the SGA to the disks.
Obviously, a properly tuned DBWR process will be the first step in
tuning I/O for the Oracle system. The DBWR process, as described in
the section on UTLBSTAT and UTLESTAT, uses the hidden INIT.ORA
parameters _DB_BLOCK_WRITE_BATCH and _DB_BLOCK_MAX_SCAN_CNT in
Oracle8 to determine when it should write used, or dirty, buffers to
the disk, thus freeing them for further use. DBWR triggers on the
following conditions:
-
A user process writes a used buffer to
the dirty buffer list and finds it is _DB_BLOCK_WRITE_BATCH / 2
long.
-
A user process searches _DB_BLOCK_MAX_SCAN_CNT
buffers without finding a clean one.
-
The DBWR has been inactive for three
seconds.
-
When a checkpoint occurs, LGWR signals
DBWR to trigger it to write.
The DBWR writes out _DB_BLOCK_WRITE_BATCH
buffers each time it is triggered. If there aren't that many buffers
in the dirty buffer list, the buffers on the LRU list are written
until _DB_BLOCK_WRITE_BATCH buffers are written.
This is an excerpt by
Mike Ault’s book “Oracle
Administration & Management” . If you want more current Oracle
tips by Mike Ault, check out his new book “Mike
Ault’s Oracle Internals Monitoring & Tuning Scripts” or Ault’s
Oracle Scripts Download. |