文章转自:http://oracle.chinaitlab.com/induction/862509.html,文章前部分转载,后部分自己加上的。

Oracle数据库只读模式的CACHE BUFFERS CHAINS测试是本文我们主要要介绍的内容,虽然从Oracle 9i里边引入了只读模式的CACHE BUFFERS CHAINS,但是在获取BUFFER LOCK的时候,还是会请求CACHE BUFFERS CHAINS,但是情形没有8i里边那么严重了,接下来我们对其进行测试.

测试步骤如下:

1.创建表

 create table test (a int,b varchar2(20));

2.往这个表里INSERT 50000行数据

 declare i int;
  begin for i in 1..50000 loop insert into test values(i,'adsfsafsa');
  end loop;
end;

3.在A的栏位上创建一个INDEX

 create index test_i on test(a);

4.编一个存储过程,进行大量的索引扫描操作

 create or replace procedure test_k is
  begin for i in (select /*+ INDEX(TEST TEST_I) */ * from test where a > 20000) loop null;
  end loop;
end;

5.打开2000个会话来执行这个存储过程

 var i number;
  begin for j in 1..2000 loop dbms_job.submit(:i,'TEST_K;');
  commit;
4   end loop;
end;

6.查询等待事情发现latch: cache buffers chains

 SELECT event,
total_waits ,
time_waited
FROM v$session_event
WHERE sid=
(SELECT sid FROM v$mystat WHERE rownum=1
)
ORDER BY 3 DESC;
EVENT                          TOTAL_WAITS TIME_WAITED
------------------------------ ----------- -----------
SQL*Net message from client 223 167283
resmgr:cpu quantum 14 1022
db file sequential read 222 21
library cache lock 47 12
control file sequential read 15400 7
latch: shared pool 1 1
direct path write 30 1
SQL*Net message to client 224 0
SQL*Net more data to client 1 0
SQL*Net break/reset to client 10 0
library cache: mutex X 2 0
events in waitclass Other 6 0
log file sync 4 0
enq: RO - fast object reuse 3 0
buffer busy waits 3 0
latch: cache buffers chains 8 0
Disk file operations I/O 8 0
latch: In memory undo latch 8 0

结论:就算以只读模式获取cache buffers chains LATCH并不能完全解决这个LATCH争用的问题,只是争用程度不那么严重了.

【转】Cache Buffer Chain 第三篇的更多相关文章

  1. 【原】Cache Buffer Chain 第四篇

    作者:david_zhang@sh [转载时请以超链接形式标明文章] 链接:http://www.cnblogs.com/david-zhang-index/p/3873357.html [测试1]低 ...

  2. 【转】cache buffer chain 第一篇

    文章转自:http://www.jydba.net/cache-buffer-chain/ buffer cache的管理有两个重要的数据结构: hash bucket和cache buffer ch ...

  3. 【转】Cache Buffer Chain 第二篇

    文章转自:http://m.bianceng.cn/database/Oracle/201407/42884.htm 测试环境:版本11gR2 SQL> select * from v$vers ...

  4. 第三篇 Entity Framework Plus 之 Query Cache

    离上一篇博客,快一周,工作太忙,只能利用休息日来写一些跟大家分享,Entity Framework Plus 组件系列文章,之前已经写过两篇 第一篇 Entity Framework Plus 之 A ...

  5. PHP 性能分析第三篇: 性能调优实战

    注意:本文是我们的 PHP 性能分析系列的第三篇,点此阅读 PHP 性能分析第一篇: XHProf & XHGui 介绍 ,或  PHP 性能分析第二篇: 深入研究 XHGui. 在本系列的 ...

  6. 第三篇——第二部分——第五文 配置SQL Server镜像——域环境SQL Server镜像日常维护

    本文接上面两篇搭建镜像的文章: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境:http://blog.csdn.net/dba_huangzj/article/details/ ...

  7. lnux内核的malloc实现(Oracle的cache buffer影子)

    lnux内核的malloc实现(Oracle的cache buffer影子) 本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/artic ...

  8. 第三篇——第二部分——第六文 监控SQL Server镜像

    原文:第三篇--第二部分--第六文 监控SQL Server镜像 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26846203 要优化, ...

  9. SaltStack 入门到精通第三篇:Salt-Minion配置文件详解

    SaltStack 入门到精通第三篇:Salt-Minion配置文件详解 作者:ArlenJ  发布日期:2014-06-09 17:52:16   ##### 主要配置设置 ##### 配置 默认值 ...

随机推荐

  1. Upgrade to postgresql 9.5

        Add postgresql apt repo.. according to your distribution (utopic, trusty, jessie, wheezy and etc ...

  2. mysql报错锦集

    MySQL 启动报错 - ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/ ...

  3. Asp.Net初学小结 判断数组中是否有重复的数据

    Asp.Net初学小结   第一章   1.搭建Asp.net开发环境   1).net FrameWork(VS) 2)IIS(xp:5.1,2003:6.0,vista:70,win7:7.5)  ...

  4. VC++的project文件

    VC++的project文件说明: *.dsp:是VC++的项目文件,文本格式. *.dsw:是工作区文件,它能够指向一个或多个.dsp文件. *.clw:是 ClassWizard信息文件,实际上是 ...

  5. 在Linux中将php-fpm配置成服务的方法

    1.配置php-fpm.conf vi /usr/local/php/etc/php-fpm.conf php-fpm.pid 目录必须指向:/usr/local/php/var/run/php-fp ...

  6. Django-中介模型

    有多对多字段的时候自己创建的第三章表就是中介模型 class Article(models.Model): ''' 文章表 ''' title = models.CharField(max_lengt ...

  7. caffe搭建--vs2015+caffe+python3.5编译环境的搭建

    修改build_win.cmd如下: @echo off @setlocal EnableDelayedExpansion :: Default values if DEFINED APPVEYOR ...

  8. vim 插件: ctrlp.vim

    vim-scripts 里可以搜到这个插件. 安装好了之后,在 vim 的 normal 模式之下按 Ctrl+P 组合键即可弹出搜索窗口. * <f5> 更新目录缓存. * <c- ...

  9. celery模块

    Celery Celery是管理分布式任务队列的工具,其本身并不是任务队列. Celery常见概念有brokers.backend.workers.tasks. brokers:中间人,是Celery ...

  10. 图像处理之增强---图像增强算法四种,图示与源码,包括retinex(ssr、msr、msrcr)和一种混合算法

    申明:本文非笔者原创,原文转载自:http://blog.csdn.net/onezeros/article/details/6342661 两组图像:左边较暗,右边较亮 第一行是原图像,他们下面是用 ...