| |
 |
|
Oracle Tips by Burleson Consulting
|
The Database Writer
background process (DBWR)
The DBWR background process is responsible for managing the
interaction between the Oracle RAM data buffers (and the dictionary
cache) and the physical disks. The DBWR process performs batch
writes of the changed blocks back to the data files.
In UNIX, the DBWR process is asynchronous. This means that a
database write does not always result in an immediate physical I/O
by the DBWR. Rather, the DBWR process may wait until a set of
“dirty” block have accumulated in the data buffers, and then write
out the entire set of blocks in a single operation.
When using a sophisticated back-end storage system such as EMC, the
nature of database writes becomes even more complex. Often, an EMC
box will defer write to the physical disks in order to optimizer I/O
throughput. To do this, the EMC box will send an immediate
acknowledgement back to the DBWR process that the I/O has been
completed, when in reality the data block resides in RAM storage in
the EMC disk cache. This complex interaction often leads to
finger-pointing between EMC and Oracle whenever a bug causes a disk
write to fail.
 |
For more details and scripts, see my new book "
Oracle
Tuning: The Definitive Reference", over 900 pages
of BC's favorite tuning tips & scripts.
You can buy it direct from the publisher for 30%-off and get
instant access to the code depot. |
|