Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: db_block_checkpoint_batch
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_at_hotm To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> ail.com> cc: Sent by: Subject: db_block_checkpoint_batch root_at_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
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: elain he
INET: elainhe_at_hotmail.com
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Liststo: ListGuru_at_fatcity.com (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).
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author:
INET: Riyaj_Shamsudeen_at_i2.com
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Liststo: ListGuru_at_fatcity.com (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). Received on Tue Feb 13 2001 - 12:02:31 CST
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message