模拟cache buffers chains latch实验
来源:互联网 发布:抢购软件原理 编辑:程序博客网 时间:2024/05/16 09:51
1。模拟思路:
原理上来说,buffer cache中block的header是被放置到hash chains上,而hash chains又是放在hash bucket中,多个hash bucket被一个cache buffers chains latch保护。当多个session并发访问同一个数据块上的数据,每个session都要首先获得cache buffers chains latch,这样将造成cache buffers chains latch的争用。
2。试验步骤
(1)创建测试表big1,并创建索引
SQL> create table big1 as select * from sys.dba_objects;
Table created.
SQL> create index idx_big1 on big1(object_id);
Index created.
(2)打开5个session,各自执行如下过程:
declare
r integer;
begin
for i in 1 .. 3000000 loop
select object_id into r from big1 where object_id=97;
dbms_lock.sleep(0.001);
end loop;
end;
/
(3)执行同时查看相应的等待事件:
select spid,
a.sid,
d.SQL_ID,
d.SQL_TEXT,
d.SQL_FULLTEXT,
a.EVENT
from v$session a, v$process b, v$sesstat c, v$sqlarea d
where c.statistic# = 12
and c.sid = a.sid
and a.paddr = b.addr
and a.status = 'ACTIVE'
AND A.TYPE = 'USER'
and a.SQL_ID = d.SQL_ID /* and SQL_TEXT like 'SELECT * FROM( SELECT X.* , ROWNUM RN%'*/
order by value desc;
SPID SID SQL_ID SQL_TEXT SQL_FULLTEXT EVENT
1 535 718 4fpd5mb7pqmqw SELECT OBJECT_ID FROM BIG1 WHERE OBJECT_ID=97 <CLOB> latch: cache buffers chains
2 543 654 4fpd5mb7pqmqw SELECT OBJECT_ID FROM BIG1 WHERE OBJECT_ID=97 <CLOB> latch: cache buffers chains
3 539 582 4fpd5mb7pqmqw SELECT OBJECT_ID FROM BIG1 WHERE OBJECT_ID=97 <CLOB> latch: cache buffers chains
4 541 581 4fpd5mb7pqmqw SELECT OBJECT_ID FROM BIG1 WHERE OBJECT_ID=97 <CLOB> latch: cache buffers chains
可见,出现大量的cache buffers chains的latch free等待事件。
- 模拟cache buffers chains latch实验
- latch: cache buffers chains-热块的简单模拟实验
- latch: cache buffers chains
- latch: cache buffers chains
- latch: cache buffers chains
- latch: cache buffers chains
- latch: cache buffers chains
- cache buffers chains latch
- latch: cache buffers chains
- buffer cache实验6-latch:cache buffers lru chains
- Buffer cache学习(四)--实验Cache Buffers Chains Latch
- 引发latch: cache buffers chains及事件模拟
- Cache buffers chains latch 与Cache buffers LRU chain latch
- Cache Buffers Chains and Latch Spelunking
- latch:cache buffers chains等待问题
- latch: cache buffers chains等待导致CPU100%
- latch: cache buffers chains故障处理总结
- latch:cache buffers chains的优化思路
- STL中map用法详解
- 五大常用算法(一) 分治算法(4) 棋盘覆盖
- C# Split分隔字符串
- opencv在ubuntu下的安装(2014.11.2更新:读取摄像头的配置)
- rangeOfString的用法
- 模拟cache buffers chains latch实验
- C++访问MySql 转载 还有测
- 怎么在右键菜单添加快速比较的功能
- htaccess简单应用
- TS 中的SDT包
- Oracle 数据库备份和恢复数据库的命令
- 找不到文件 C:\oracle\product\11.2.0\dbhome_1\oc4j\j2ee\oc4j_applications\applications\em.ear
- RAC的并发操作与分布式锁DLM
- Minix 编译内核步骤