龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

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

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
Oracle 数据库只读模式的 CACHE BUFFERS CHAINS 测试是本文我们主要要介绍的内容,虽然从Oracle 9i里边引入了只读模式的CACHE BUFFERS CHAINS,但是在获取BUFFER LOCK的时候,还是会请求CACHE BUFFERS C

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

测试步骤如下:

1.首先建一个表。

  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测试的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!

精彩图集

赞助商链接