Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: Latch contention in 8.1.5
Marin,
The latch that you are monitoring namely "cache buffer chain" does not related to the setting of db_block_lru_latches. The "cache buffer chain latch" is directly related to the length of "a chain of blocks" that a server process has to "walk" before arriving at the block that it is attempting to read.
To fix "cache buffer chain" latch contention you need to set _db_block_hash_buckets to the value of db_block_buffers. On making that change and further monitoring you will find that the contention for that latch is greatly reduced. By setting the _db_block_hash_buckets to the same value of db_block_buffers, you have pretty much ensured that each block is in its own chain.
With regards to db_block_lru_latches, in my experience I have seen (2 * # CPUs) to be adequate. I was unaware that (6 * # of CPUs) is even supported. I just checked out my 8i documentation and it says the range of values is (1 - twice the number of CPUs). I am curious to know which documentation that you are referring to that states (6 * # of CPUs). At any rate, 2048 for db_block_lru_latches is too high is probably not even relevant.
So, here is the scoop: set db_block_lru_latches = (2 * # of CPUs) and _db_block_hash_buckets = (db_block_buffers), monitor the latch hit ratios and get back to us.
Hope that helps,
Gaja.
Gaja Krishna Vaidyanatha | 3460 West Bayshore Road, Manager - Integration | Palo Alto, CA 94303 & Consulting Services | gaja_at_brio.com Global Alliances | (650)-565-4442 Brio Technology | www.brio.com
"Opinions and views expressed are my own and not of Brio Technology"