0330Cache Buffers chains与共享模式疑问2

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

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

--昨天我看了链接http://blog.itpub.net/22034023/viewspace-708296/,重复测试,无法再现,我修改一下测试方法:
--我的测试11G下,以rowid方式访问数据块,不会出现EXCLUSIVE模式持有cache buffers chains.

--10g下呢?

SYS@test> @ &r/ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- ----------------------------------------------------------------
x86_64/Linux 2.4.xx            10.2.0.4.0     Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi


SCOTT@test> select rowid,empno,'sqlplus scott/btbtms @h2 2e6 '||rowid||' &' c60 from emp ;
ROWID                     EMPNO C60
------------------ ------------ ------------------------------------------------------------
AAAMlsAAEAAAAAgAAA         7369 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAA &
AAAMlsAAEAAAAAgAAB         7499 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAB &
AAAMlsAAEAAAAAgAAC         7521 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAC &
AAAMlsAAEAAAAAgAAD         7566 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAD &
AAAMlsAAEAAAAAgAAE         7654 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAE &
AAAMlsAAEAAAAAgAAF         7698 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAF &
AAAMlsAAEAAAAAgAAG         7782 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAG &
AAAMlsAAEAAAAAgAAH         7788 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAH &
AAAMlsAAEAAAAAgAAI         7839 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAI &
AAAMlsAAEAAAAAgAAJ         7844 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAJ &
AAAMlsAAEAAAAAgAAK         7876 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAK &
AAAMlsAAEAAAAAgAAL         7900 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAL &
AAAMlsAAEAAAAAgAAM         7902 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAM &
AAAMlsAAEAAAAAgAAN         7934 sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAN &
14 rows selected.

SCOTT@test> @&r/lookup_rowid AAAMlsAAEAAAAAgAAA
      OBJECT         FILE        BLOCK          ROW DBA                  TEXT
------------ ------------ ------------ ------------ -------------------- ----------------------------------------
       51564            4           32            0 4,32                 alter system dump datafile 4 block 32 ;

SCOTT@test> @&r/lookup_rowid AAAMlsAAEAAAAAgAAN
      OBJECT         FILE        BLOCK          ROW DBA                  TEXT
------------ ------------ ------------ ------------ -------------------- ----------------------------------------
       51564            4           32           13 4,32                 alter system dump datafile 4 block 32 ;

--可以发现记录在同一块中.
$ 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 AAAMlsAAEAAAAAgAAA  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAB  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAC  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAD  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAE  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAF  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAG  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAH  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAI  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAJ  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAK  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAL  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAM  &
sqlplus scott/btbtms @h2 2e6 AAAMlsAAEAAAAAgAAN  &

SYS@test>  @r/bh  4 32
SP2-0310: unable to open file "r/bh.sql"
SYS@test>  @ &r/bh  4 32
old  23:   dbarfil = &1 and
new  23:   dbarfil = 4 and
old  24:   dbablk = &2
new  24:   dbablk = 32

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
---------------- ------------ ------------ ------------ ------------------ ---------- ------------ ------------ ------------ ------------ ------------ ------------ ---------------- --------------------
000000007B7D1B68            4           32            1 data block         xcur                 22            0            0            0            0            0 000000006BD8C000 EMP

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


SYS@test> column KSUPRLMD format a20
SYS@test> column KSUPRLNM format a30
SYS@test> select * from X$KSUPRLAT ;
ADDR                     INDX      INST_ID     KSUPRPID     KSUPRSID     KSUPRLLV     KSUPRLTY KSUPRLAT         KSUPRLNM                       KSUPRLMD                 KSULAWHY     KSULAWHR     KSULAGTS
---------------- ------------ ------------ ------------ ------------ ------------ ------------ ---------------- ------------------------------ -------------------- ------------ ------------ ------------
00007FE976E7F430            0            1           35          123            1            0 000000007B7D1B68 cache buffers chains           EXCLUSIVE                16777248         1275     87396800

SYS@test> select * from X$KSUPRLAT ;
ADDR                     INDX      INST_ID     KSUPRPID     KSUPRSID     KSUPRLLV     KSUPRLTY KSUPRLAT         KSUPRLNM                       KSUPRLMD                 KSULAWHY     KSULAWHR     KSULAGTS
---------------- ------------ ------------ ------------ ------------ ------------ ------------ ---------------- ------------------------------ -------------------- ------------ ------------ ------------
00007FE976E4B128            0            1           37          121            1            1 000000007B7D1B68 cache buffers chains           EXCLUSIVE                16777248         1246     88640931

SYS@test> select * from X$KSUPRLAT ;
ADDR                     INDX      INST_ID     KSUPRPID     KSUPRSID     KSUPRLLV     KSUPRLTY KSUPRLAT         KSUPRLNM                       KSUPRLMD                 KSULAWHY     KSULAWHR     KSULAGTS
---------------- ------------ ------------ ------------ ------------ ------------ ------------ ---------------- ------------------------------ -------------------- ------------ ------------ ------------
00007FE976E7F430            0            1           33          136            1            0 000000007B7D1B68 cache buffers chains           EXCLUSIVE                16777248         1275     89313140
00007FE976E7F430            1            1           36          147            1            1 000000007B7D1B68 cache buffers chains           EXCLUSIVE                16777248         1246     89313555

SYS@test> select * from X$KSUPRLAT ;
ADDR                     INDX      INST_ID     KSUPRPID     KSUPRSID     KSUPRLLV     KSUPRLTY KSUPRLAT         KSUPRLNM                       KSUPRLMD                 KSULAWHY     KSULAWHR     KSULAGTS
---------------- ------------ ------------ ------------ ------------ ------------ ------------ ---------------- ------------------------------ -------------------- ------------ ------------ ------------
00007FE976E4B128            0            1           17          127            1            1 000000007B7D1B68 cache buffers chains           EXCLUSIVE                16777248         1246     90064883

-- KSUPRLMD 出现EXCLUSIVE模式. 总之不停的执行select * from X$KSUPRLAT ;出现的都是EXCLUSIVE模式.
-- 看来11g下改动了什么,也就说明如果仅仅读数据块(以rowid的方式),在10g下会以EXCLUSIVE模式持有cache buffers chains.

目录
相关文章
|
运维 API 开发工具
当你下载并运行阿里云OpenAPI的工程时遇到“runtime error: invalid memory address or nil pointer
【1月更文挑战第8天】【1月更文挑战第38篇】当你下载并运行阿里云OpenAPI的工程时遇到“runtime error: invalid memory address or nil pointer
755 2
2025最后一次S级大促,12月1688采购节报名指南!
1222采购节作为1688平台2025年最后一场S级大促,汇聚产业带优质货源,助力商家冲刺年终业绩。活动期间(12月22日-24日),跨店每满200减20,报名商品有机会入选“百亿补贴”获流量加持。商家需注意价格不超市场9.9折,建议优化运费提升竞争力。把握年底商机,积极备战,共赢收官之战!
|
8月前
|
算法 定位技术
蓝牙室内定位核心技术解析:RSSI 与 AOA 的测距原理对比与精度升级逻辑
本文解析蓝牙室内定位核心技术,对比RSSI与AOA的测距原理,深入探讨从RSSI到AOA在精度、误差控制和硬件适配方面的升级逻辑,揭示两者如何互补满足不同场景需求。
|
7月前
|
网络协议 安全 API
IP查询网站全测评:从IP数据云到ipinfo,哪款最适合你?
IP查询工具的选择,应基于精度需求、部署方式、协议支持与业务场景综合判断。在高合规、高精度需求日益增长的背景下,IP数据云凭借街道级定位、IPv6支持、API与离线双模部署,成为企业级用户的首选。
|
9月前
|
机器学习/深度学习 PyTorch 算法框架/工具
python torch基础用法
本教程系统讲解PyTorch基础,涵盖张量操作、自动求导、神经网络构建、训练流程、GPU加速及模型保存等核心内容,结合代码实例帮助初学者快速掌握深度学习开发基础,是入门PyTorch的实用指南。
860 6
|
Ubuntu 安全 Linux
Linux错误排查:解决Ubuntu 20.4执行sudo apt-get update时出现的libnettle.so.6错误。
很有可能在你得到解决方案时,你也学到了不少Linux修复技巧。祝你处理计算机问题时顺利如麻!永远记得,各种问题总是像老鼠一样从意想不到的地方冒出来。但记住,不管它们跑到哪里,最终都逃不过你的捕鼠器。盖起你的计算机,拾起你的代码,大步向前!
486 28
|
机器学习/深度学习 编解码 Go
YOLOv5-Face | 原理超精细讲解、训练步骤还原、C++边缘部署(就要这么学!!!)(一)
YOLOv5-Face | 原理超精细讲解、训练步骤还原、C++边缘部署(就要这么学!!!)(一)
1280 0
|
存储 缓存 运维
带你读《云原生架构白皮书2022新版》——主要架构模式(上)
带你读《云原生架构白皮书2022新版》——主要架构模式(上)
1464 99
|
安全 测试技术 物联网
系统集成项目经理中级第三章 信息系统集成专业技术知识(选择10分)
系统集成项目经理中级第三章 信息系统集成专业技术知识(选择10分)
486 1
系统集成项目经理中级第三章 信息系统集成专业技术知识(选择10分)
|
存储 监控 Android开发
便捷好用的 iOS 文件管理 App
便捷好用的 iOS 文件管理 App