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

Home -> Community -> Mailing Lists -> Oracle-L -> Re: cache buffer chains latch

Re: cache buffer chains latch

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Wed, 03 Dec 2003 00:39:26 -0800
Message-ID: <F001.005D8740.20031203003926@fatcity.com>

My current understanding is:
a) For normal buffer gets,

            the latch is acquired,
            the chain is scanned
            the buffer is pinned
            the latch is released
            the buffer is used
        --
            the latch is acquired
            the pin is dropped
                (although the pin may be held
                for the duration of the SQL or pl/sql
                call if Oracle expects to revisit the buffer)

b)    Consistent gets - examination
            the latch is acquired
            the chain is scanned
            if the buffer can be found it read
            the latch is dropped

Iin case (b), Oracle can make use of a
shared read latch - where the underlying CPU supports it.

But I may be wrong - especially about (b), and I haven't identified all the cases where an examination is legal.

Question 2 - the best answers come from Steve Adams. But in summary, think library cache latch children - you may need to validate several objects in the library cache at once, and they could be covered by different child latches.

Latches have a level#, from 0 to 9, and there is a precedence of latch acquisition across levels that is designed to stop latch acquisition deadlocks (again see S.A.).

The holding of multiple latches also explains the presence of the column named (something like) waits_holding in v$latch. You have waited for this latch whilst holding another latch.

Regards

Jonathan Lewis
http://www.jlcomp.demon.co.uk

  The educated person is not the person
  who can answer the questions, but the
  person who can question the answers -- T. Schick Jr

One-day tutorials:
http://www.jlcomp.demon.co.uk/tutorial.html

Three-day seminar:
see http://www.jlcomp.demon.co.uk/seminar.html ____UK___November

The Co-operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/faq/ind_faq.html

Hi All,

My system is suffering in cache buffer chain,I found the reason. My general questions is
1)
When the process holding the latch how long the latch will be held ,until the hase chain is read or
the process goes to the particular block and return the rows(output) ?

2)
When the situation will occur for the process to hold two latches(different or same) simultaneously ?

Please reply.

Syed.

--

Please see the official ORACLE-L FAQ: http://www.orafaq.net
--

Author: Jonathan Lewis
  INET: jonathan_at_jlcomp.demon.co.uk

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: 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 Wed Dec 03 2003 - 02:39:26 CST

Original text of this message

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