Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> One for the Oracle Gods - db buffers questions

One for the Oracle Gods - db buffers questions

From: chris adams <cadams_at_sphinxcst.co.uk>
Date: 1998/09/10
Message-ID: <35F7E46C.C7CC9BE1@sphinxcst.co.uk>#1/1

All,

I've got a few questions about the db buffers cache :-

What is a _db_block_hash_bucket and what's it comprised of?
(Are they roups of db buffer blocks?)

When do rollback block buffers get written to the rollback segment(s) and who's responsibility is it to do this?
(DBWR?)
Do data block buffers and rollback buffers both live on the LRU list? And do they both get stuck on the dirty blocks list?

(Is it at this point that 'dirty' rollback buffers get written to the
rollback segments?)

How does a user process check to see if a db block is in the buffered cache?
(All I know is it uses some kind of hash calculation to find the
(memory?) address of the buffer.)

Also, how does a process work out if the buffer has been modified by another process or is clean?
(Some kind of flag? Can we see these from any of the dynamic or X$
tables?)

After modifying a block, how does a process find a free block in the redo buffers cache?
(Is it a cylic list that gets flushed?)

When checking the LRU list for free buffers, if it comes across a dirty one it will supposedly moves it to the dirty list. Does it actually move the block or just a pointer?

Regards,
Jason. Received on Thu Sep 10 1998 - 00:00:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US