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.

目录
相关文章
|
前端开发 数据库 数据安全/隐私保护
【项目实战】登录与注册业务的实现(前端+后端+数据库)
【项目实战】登录与注册业务的实现(前端+后端+数据库)
3270 0
【项目实战】登录与注册业务的实现(前端+后端+数据库)
|
2月前
|
人工智能 弹性计算 自然语言处理
阿里云AI龙虾实测:JVS Claw免费7天体验,下载就能用不需要安装也不要邀请码!厉害了
阿里云JVS Claw是基于OpenClaw框架打造的AI龙虾助手,支持手机/PC/网页三端互通,下载即用、免安装、无邀请码。提供7天免费体验,一键创建云端或本地Clawbot,内置办公技能及上千种可扩展Skills,安全高效,零门槛上手。
1074 6
|
2月前
|
前端开发
前端开发 之 15个页面加载特效中【附完整源码】
本篇文章内容展示了毒药水加载、圆环百分比加载、圆点加载等页面炫酷加载特效,并给出了完整的代码及注释
222 2
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
AI时代的“义务教育”:深度拆解LLM预训练核心原理与PyTorch源码实现
本文深入解析大模型预训练核心,以Qwen2.5为例,从Tokenizer、RoPE位置编码到GQA注意力机制,拆解LLM如何通过海量数据“炼”成。涵盖架构演进、关键技术与代码实现,带你手把手理解大模型“义务教育”阶段的底层逻辑。
364 7
|
4月前
|
人工智能 算法 测试技术
人工智能测试工程师,需要掌握哪些真正「能落地」的技能?
AI时代,测试工程师正面临能力重构。AI未取代测试,却重塑其核心:从验证功能到保障不确定系统的稳定性与可信性。真正的AI测试需具备三层能力:理解模型逻辑、以数据驱动测试设计、构建智能化自动化体系。转型关键不在知识碎片,而在工程闭环实践。未来属于能让AI系统可靠落地的测试人。
|
5月前
|
消息中间件 存储 监控
实时数据有哪些特点?企业该如何管理好实时数据?
企业正从“事后看”转向“实时看”数据,实时数据要求秒级甚至毫秒级响应,具备持续流入、价值衰减快、流量突增等特点。管理好它需构建四大能力:流式处理架构、全链路监控、分层服务与业务闭环。建议从痛点场景试点,逐步打造可复用的实时数据体系。
|
5月前
|
网络协议 安全 API
IP查询网站全测评:从IP数据云到ipinfo,哪款最适合你?
IP查询工具的选择,应基于精度需求、部署方式、协议支持与业务场景综合判断。在高合规、高精度需求日益增长的背景下,IP数据云凭借街道级定位、IPv6支持、API与离线双模部署,成为企业级用户的首选。
|
Linux Shell API
ollama 大模型部署 工具 | AIGC
Ollama是一个集成了多种大型语言模型的工具,它支持模型的部署、运行以及API的整合和调用。Ollama为不同操作系统的用户提供了便捷的安装方式,并具备丰富的命令行界面(CLI)和API接口,使得用户可以轻松地管理和运行大型模型。【10月更文挑战第1天】
3148 1
|
人工智能 前端开发 算法
《关于 <主动式智能导购 AI 助手构建> 解决方案的深度评测》
随着电商行业的蓬勃发展,智能导购助手的重要性日益凸显。本文深入体验并部署了《主动式智能导购 AI 助手构建》解决方案,从部署体验、实践原理、架构设计、百炼大模型应用及生产环境适配性等多个方面进行了全面评测。尽管在数据导入和代码逻辑等方面存在一些挑战,但该方案在智能导购领域展现出较大潜力,未来有望通过进一步优化和完善,更好地满足企业的实际需求。
379 3
|
人工智能 运维 Serverless
Serverless + AI 让应用开发更简单,加速应用智能化
2024 云栖大会开幕,在大会第一天,阿里云正式发布全新产品——云应用开发平台 CAP。CAP 拥有丰富的场景化应用模板,可以极速体验,并且具备更低的成本优势以及灵活组装等特点,成为广大开发者与企业必备的一站式应用开发平台,让应用开发更简单。
668 13