Oracle数据库只读模式的CACHE BUFFERS CHAINS测试_Oracle_数据库_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 数据库 > Oracle > Oracle数据库只读模式的CACHE BUFFERS CHAINS测试

Oracle数据库只读模式的CACHE BUFFERS CHAINS测试

 2013/8/10 1:20:45    程序员俱乐部  我要评论(0)
  • 摘要:Oracle数据库只读模式的CACHEBUFFERSCHAINS测试是本文我们主要要介绍的内容,虽然从Oracle9i里边引入了只读模式的CACHEBUFFERSCHAINS,但是在获取BUFFERLOCK的时候,还是会请求CACHEBUFFERSCHAINS,但是情形没有8i里边那么严重了,接下来我们对其进行测试。测试步骤如下:1.首先建一个表。createtabletest(aint,bvarchar2(20));2.往这个表里INSERT50000行数据;declareiint
  • 标签:ORA 测试 数据库 模式 数据 Oracle Oracle数据库

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

测试步骤如下:

1.首先建一个表。

    class="dp-xml">
  1. create table test (a int,b varchar2(20)); 

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

  1. declare  
  2. i int;  
  3. begin  
  4. for i in 1..50000  
  5. loop  
  6. insert into test values(i,'adsfsafsa');  
  7. end loop;  
  8. end; 

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

  1. create index test_i on test(i); 

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

  1. create or replace procedure test_k is  
  2. begin  
  3. for i in (select /*+ INDEX(TEST TEST_I) */ * from test where a>20000)  
  4. loop  
  5. null;  
  6. end loop;  
  7. end; 

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

  1. var i number;  
  2. begin  
  3. for j in 1..2000  
  4. loop  
  5. dbms_job.submit(:i,'TEST_K;');  
  6. commit;  
  7. end loop;  
  8. end; 

6.查询等待事情发现latch: cache buffers chains等待很严重,CPU运大部分时间都运行在SYS模式下.

  1. Cpu(s): 16.3%us, 83.7%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 

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

关于Oracle数据库只读模式的CACHE BUFFERS CHAINS测试的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!

发表评论
用户名: 匿名