逻辑读时,申请两次cbc latch,我们验证一下:

SQL> select rowid,dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block#,deptno,dname from syk.test where rownum=1;ROWID                   FILE#     BLOCK#     DEPTNO DNAME------------------ ---------- ---------- ---------- --------------AAAVodAAEAAAAILAAA          4        523         10 ACCOUNTINGSQL> select hladdr from x$bh where file#=4 and dbablk=523;HLADDR----------------000000007D94A658SQL> select addr,name,gets from v$latch_children  where addr='000000007D94A658';ADDR----------------NAME                                                                   GETS---------------------------------------------------------------- ----------000000007D94A658cache buffers chains                                                     53SQL> select deptno,dname from syk.test where rowid='AAAVodAAEAAAAILAAA';    DEPTNO DNAME---------- --------------        10 ACCOUNTINGSQL> select addr,name,gets from v$latch_children  where addr='000000007D94A658';ADDR----------------NAME                                                                   GETS---------------------------------------------------------------- ----------000000007D94A658cache buffers chains                                                     55SQL> select spid from v$session s,v$process b where s.paddr=b.addr and s.sid in(select sid from v$mystat where rownum=1);SPID------------------------3796

一次逻辑读要加两次CBC Latch,一次为了加Buffer Pin,一次为了释放Buffer Pin

未完。。。

http://qhd2004.blog.51cto.com/629417/1576579

http://qhd2004.blog.51cto.com/629417/1577532