Re: consistent read and LIO question

From: lsllcm <>
Date: Sun, 26 Apr 2009 08:22:05 -0700 (PDT)
Message-ID: <>

Thanks Jonathan and Srivenu.

After read the article

I also read one article about LIO from

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 article,


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?

Jacky Received on Sun Apr 26 2009 - 10:22:05 CDT

Original text of this message