Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: cbc latch assignment on db_cache resize
I <andrewm_at_chiark.greenend.org.uk> wrote:
>Now Oracle has a dynamically resizeable buffer cache, this obviously
>presents some interesting properties for how the buffer cache and
>associated objects get rearranged when the size is changed.
>
>In particular, does anybody know what Oracle does with cache buffers
>chains latches when the buffer cache is resized?
>
>As I see it, there are (at least) two options:
[snip]
>2 Have enough hash latches for all possible buffers in sga_max_size,
>and create or remove buffers keeping a constant number of latches as
>db_cache_size changes.
Having now had a chance to play with this, it appears that, at least, the values for _db_block_hash_latches and _db_block_hash_buckets in x$ksppcv stay constant when db_cache_size changes.
This, unfortunately for me, means that shrinking the SGA shouldn't make cache buffers chains contention worse. However, should we then be wary of starting with a small SGA and dynamically growing it to something quite large?
Interestingly, 9iR2 (at least, maybe 9.0.1 too), _db_block_hash_latches has gone back to being prime but now is a prime "near" (not sure exactly how it's chosen) twice the number of block buffers.
-- Andrew Mobbs - http://www.chiark.greenend.org.uk/~andrewm/Received on Thu Jul 18 2002 - 04:44:17 CDT