Hi elain
I have not personally encountered performance degradation setting this
to high value. But I will attempt to help you.
DBWR process is waiting for the IPC messages from the background
process or from the server processes, for the requests to write the dirty
buffers. That's how the processes communicate among themselves and wiating
for an IPC message is normal. Also DBWR is the process which scans the
buffer cache to create a list of buffers to write and then it distributes
that list to the slave process to write. So slave process has to wait for
the null event during no work. So, this is fine too.
db_block_checkpoint_batch determines what portion of db writes can be
used for the slow checkpoints (in 7.3). By setting this to high value, the
checkpoint will complete faster, but the speed at which DBWR cleans the
buffer cache may be slightly slower. So more free buffer waits. You may
have to play around these parameters little bit to determine the optimum
value for your environment. I would set checkpoint batch size to be around
1/8 th or 1/10th of Internal batch write size and go upwards. Also make
sure that your log buffer is small enough and the DBW doesn't wait too much
for the log file sync event. Converting the file system based database to
raw database and turning on async IO are other options.
In fact, Steve Adams has written a paper about this DBWR tuning.
Search for db_block_checkpoint in his website www.ixora.com.au. You will
find his paper.
Thanks
Riyaj "Re-yas" Shamsudeen
Certified Oracle DBA
"This is my opinion and does not legally bind me or my employer. Use at
your own risk"
"elain he"
<elainhe@hotm To: Multiple recipients of list ORACLE-L
<[EMAIL PROTECTED]>
ail.com> cc:
Sent by: Subject: db_block_checkpoint_batch
root@fatcity.
com
02/13/01
08:26 AM
Please
respond to
ORACLE-L
Hi,
Has anyone seen database performance degradation by setting this to a high
value?
We set this value to 128 from the default value 4 and noticed a lot more
free buffer waits event.
All database writers (DB01-10) are waiting for Null Event. The
seconds_in_wait time from v$session_wait is 129614(~1.5days), ie the same
time since the database started. The parent DBWR process is waiting on
rdbms
ipc message and the seconds_in_wait time is 0.
Here's the configuration:
DB 7.3.4
db_writer=10
async_io disable
Solaris 2.6/Sun T3 Array
_db_block_write_batch=512
db_block_checkpoint_batch=128 (512/4)
Appreciate any help you can provide.
Thanks.
--Elain
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: elain he
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author:
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).