0330Cache Buffers chains与共享模式疑问

简介: [20150330]Cache Buffers chains与共享模式疑问.txt --昨天我看了链接http://blog.itpub.net/22034023/viewspace-708296/,重复测试,无法再现,我修改一下测试方法: 1.

[20150330]Cache Buffers chains与共享模式疑问.txt

--昨天我看了链接http://blog.itpub.net/22034023/viewspace-708296/,重复测试,无法再现,我修改一下测试方法:

1.建立测试环境:

SCOTT@test> @ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.3.0     Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

 

SCOTT@test> select rowid,empno,'sqlplus scott/btbtms @h2 2e6 '||rowid c60 from emp ;
ROWID                   EMPNO C60
------------------ ---------- ------------------------------------------------------------
AAAR3xAAEAAAACXAAA       7369 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAA
AAAR3xAAEAAAACXAAB       7499 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAB
AAAR3xAAEAAAACXAAC       7521 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAC
AAAR3xAAEAAAACXAAD       7566 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAD
AAAR3xAAEAAAACXAAE       7654 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAE
AAAR3xAAEAAAACXAAF       7698 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAF
AAAR3xAAEAAAACXAAG       7782 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAG
AAAR3xAAEAAAACXAAH       7788 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAH
AAAR3xAAEAAAACXAAI       7839 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAI
AAAR3xAAEAAAACXAAJ       7844 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAJ
AAAR3xAAEAAAACXAAK       7876 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAK
AAAR3xAAEAAAACXAAL       7900 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAL
AAAR3xAAEAAAACXAAM       7902 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAM
AAAR3xAAEAAAACXAAN       7934 sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAN
14 rows selected.

SCOTT@test> @lookup_rowid AAAR3xAAEAAAACXAAA
    OBJECT       FILE      BLOCK        ROW DBA                  TEXT
---------- ---------- ---------- ---------- -------------------- ----------------------------------------
     73201          4        151          0 4,151                alter system dump datafile 4 block 151 ;

SCOTT@test> @lookup_rowid AAAR3xAAEAAAACXAAN
    OBJECT       FILE      BLOCK        ROW DBA                  TEXT
---------- ---------- ---------- ---------- -------------------- ----------------------------------------
     73201          4        151         13 4,151                alter system dump datafile 4 block 151 ;
--可以发现记录在同一块中.

$ cat h2.sql
declare
m_id number;
m_data varchar2(200);
begin
        for i in 1 .. &&1 loop
                select ename into m_data from emp where rowid='&&2';
end loop;
end ;
/

--拷贝以上内容到bbb.sh:
$ cat bbb.sh
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAA    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAB    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAC    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAD    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAE    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAF    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAG    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAH    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAI    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAJ    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAK    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAL    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAM    &
sqlplus scott/btbtms @h2 2e6 AAAR3xAAEAAAACXAAN    &


SYS@test> @bh  4        151
HLADDR              DBARFIL     DBABLK      CLASS CLASS_TYPE         STATE             TCH CR_SCN_BAS CR_SCN_WRP CR_UBA_FIL CR_UBA_BLK CR_UBA_SEQ BA               OBJECT_NAME
---------------- ---------- ---------- ---------- ------------------ ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------------- --------------------
00000000BCA05368          4        151          1 data block         xcur               10          0          0          0          0          0 0000000098BEE000 EMP

2.执行bbb.sh脚本,这样相当于打开14个会话,访问同一个块的不同记录.

SYS@test> select * from X$KSUPRLAT ;
ADDR                   INDX    INST_ID   KSUPRPID   KSUPRSID   KSUPRLLV   KSUPRLTY KSUPRLAT         KSUPRLNM              KSUPRLMD        KSULAWHY   KSULAWHR   KSULAGTS
---------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------------- --------------------- ------------- ---------- ---------- ----------
0000002A975B1948          0          1         46         10          1          0 00000000BCA05368 cache buffers chains  SHARED                 0       1748    1538176

SYS@test> select * from X$KSUPRLAT ;
ADDR                   INDX    INST_ID   KSUPRPID   KSUPRSID   KSUPRLLV   KSUPRLTY KSUPRLAT         KSUPRLNM              KSUPRLMD        KSULAWHY   KSULAWHR   KSULAGTS
---------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------------- --------------------- ------------- ---------- ---------- ----------
0000002A9748ABB8          0          1         47        425          1          1 00000000BCA05368 cache buffers chains  MAYBE-SHARED    16777367       1745    2265131

SYS@test> select * from X$KSUPRLAT ;
ADDR                   INDX    INST_ID   KSUPRPID   KSUPRSID   KSUPRLLV   KSUPRLTY KSUPRLAT         KSUPRLNM              KSUPRLMD        KSULAWHY   KSULAWHR   KSULAGTS
---------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------------- --------------------- ------------- ---------- ---------- ----------
0000002A974B0C90          0          1         40         41          1          1 00000000BCA05368 cache buffers chains  MAYBE-SHARED           0       1748   21715950
0000002A974B0C90          1          1         46         10          1          0 00000000BCA05368 cache buffers chains  SHARED                 0       1748   21716042
0000002A974B0C90          2          1         50         27          1          1 00000000BCA05368 cache buffers chains  MAYBE-SHARED    16777367       1745   21716045

-- KSUPRLMD 并没有出现EXCLUSIVE模式. 总之不停的执行select * from X$KSUPRLAT ;依旧无法出现EXCLUSIVE模式.

--不知道11.2.0.3又改动了什么.也就说明如果仅仅读数据块,至少这个测试说明不会以EXCLUSIVE模式持有cache buffers chains.

目录
相关文章
|
缓存 Linux 存储
Linux内存buffer和cache的区别
在Linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。
2604 0
|
SQL Oracle 关系型数据库
0821Cache Buffers chains与共享模式疑问4
[20170821]Cache Buffers chains与共享模式疑问4.txt --//昨天别人问的问题,就是在读读模式下,访问相同数据块,11.2.0.4不再出现cache buffers chains latch等待事件.
1179 0
|
SQL 关系型数据库 测试技术
缓解latch: cache buffers chains的案例
这两天我们的一个核心系统U*S,正在做压力测试,虽然压测的服务器配置不如生产,但可以反映出一些问题,初始测试的TPS可以说非常低,据测试同事反映,压测一会,数据库服务器CPU就上来了,业务上有积报现象,找不着原因。
1798 0
1104Cache Buffers chains与共享模式疑问3
[20151104]Cache Buffers chains与共享模式疑问3.txt --今天itpub上讨论vage讲11.2.0.4读读模式不会出现cache buffers chains latch,好奇做一个测试: --链接如下:http://www.
767 0
|
关系型数据库 Oracle Linux
1104Cache Buffers chains与共享模式疑问4
[20151104]Cache Buffers chains与共享模式疑问4.txt http://blog.itpub.net/267265/viewspace-1822491/ SCOTT@book> @ &r/ver1 PORT_STRING      ...
860 0
|
缓存 数据库
buffer和cache有什么本质区别
在free命令展示机器的内存消耗情况,会像这样展示         buffered 和cached本质内容有什么区别呢?    我没搞明白。我觉得需要追根溯源会更加理解本质。   英文是这样解释   A buffer is something that has yet to be "written" to disk.  这些数据准备写到磁盘的,但还没有写到磁盘,缓存在内存中。
1093 0