Re: consistent read and LIO question

From: joel garry <joel-garry_at_home.com>
Date: Mon, 27 Apr 2009 11:51:40 -0700 (PDT)
Message-ID: <432722f2-776d-4ee0-adea-ad1585e32a62_at_y10g2000prc.googlegroups.com>



On Apr 26, 8:22 am, lsllcm <lsl..._at_gmail.com> wrote:
> Thanks Jonathan and Srivenu.
>
> After read the articlehttp://www.jlcomp.demon.co.uk/buffer_handles.html
>
> I also read one article about LIO fromwww.hotsos.com
>
> To determine whether a specified Oracle block is resident in the
> database buffer cache. The structure is as below
>
> Hash table -->  buffer headers --> cache buffer chains  --> DBA
> (address of block)
>
> The "cache buffer chains latch" is used to control concurrent access
> for "buffer headers": sleep and spin, until get it.
>
> In the articlehttp://www.jlcomp.demon.co.uk/buffer_handles.html,
>
> <!--------------------
> So how can it be safe to visit a buffered block without first using a
> latch to protect it - the answer is that you have to anticipate using
> it several times, so you use latching to acquire it the first time and
> latching to release it when you have finished with it, but pin it in
> the interim so that you can visit it several times without having to
> go through the CPU intensive process of competing for latches.
> --------------------->
>
> What is the difference "cache buffer chains latch" and "buffer
> handle"?  Are they same?

I think the point of the article is they are not. Oracle pins the buffer headers using the buffer handles in order to avoid the cpuexpensive  latching.

The article seems written clearly enough, but it can take several readings to understand it, even if these things aren't new to you. Keep plugging at it. Tip o' the hat to Jonathan for this, at any rate.

jg

--
_at_home.com is bogus.
More /. on sun/oracle:  http://developers.slashdot.org/article.pl?sid=09/04/27/1517200
Received on Mon Apr 27 2009 - 13:51:40 CDT

Original text of this message