Re: consistent read and LIO question
From: lsllcm <lsllcm_at_gmail.com>
Date: Sun, 26 Apr 2009 08:22:05 -0700 (PDT)
Message-ID: <cc78f4bc-6712-423e-92c5-36bfa6e76c08_at_d19g2000prh.googlegroups.com>
Thanks Jonathan and Srivenu.
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.
--------------------->
Date: Sun, 26 Apr 2009 08:22:05 -0700 (PDT)
Message-ID: <cc78f4bc-6712-423e-92c5-36bfa6e76c08_at_d19g2000prh.googlegroups.com>
Thanks Jonathan and Srivenu.
After read the article http://www.jlcomp.demon.co.uk/buffer_handles.html
I also read one article about LIO from www.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 article http://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?
Regards
Jacky
Received on Sun Apr 26 2009 - 10:22:05 CDT