Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1995896
  • 博文数量: 1647
  • 博客积分: 80000
  • 博客等级: 元帅
  • 技术积分: 9980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 15:15
文章分类

全部博文(1647)

文章存档

2011年(1)

2008年(1646)

我的朋友

分类:

2008-10-28 18:29:28


  ■ 1.高速缓冲区
  select 100*(1-(select value from v$sysstat where name = 'physical reads')/((select value from v$sysstat where name = 'db block gets')+(select value from v$sysstat where name = 'consistent gets'))) 高速缓冲区命中率 from dual;
  >=90%
  提高命中率方法:增加高速缓存区DB_BLOCK_BUFFERS=
  ■ 2.库缓冲区
  select 100*sum(pins-reloads)/sum(pins) 库缓冲区命中率 from v$librarycache;
  >=99
  可以增加共享池shared_pool_size=
  但应该查询当前的空闲内存:如下
  SQL> select * from v$sgastat where name = 'free memory';
  
  POOL NAME BYTES
  ----------- -------------------------- ----------
  shared pool free memory 19997888
  large pool free memory 4291456
  java pool free memory 32768
  如果命中率低,但空闲内存较多,可能是应用程序的问题
  注意:SQL语句要严格一致,才能被不需parse
  
  ■ 3.字典缓冲区(行缓冲区)
  select 100*sum(gets - getmisses - usage - fixed)/sum(gets) 行缓冲区命中率 from v$rowcache;
  >= 85
  调整方法与调试库缓冲区命中率是一致的,因为,ORACLE自己决定使用多少字典缓冲区内存。
  
  ■ 4.回滚段
  4.1检测回滚段争用
  select 100*sum(waits)/sum(gets) 回滚段争用率 from v$rollstat;
  <1
  4.2检测收缩
  select b.name,a.shrinks from v$rollstat a,v$rollname b where a.usn=b.usn;
  shrinks(收缩率)太大,需要调整回滚段大小
  
  ■ 5.redo日志缓存器
  select name,value from v$sysstat where name = 'redo buffer allocation retries';
  value显示等待redo日志缓存器展开槽的次数。
  多检查几次,如果数字是增加的,可以增加LOG_BUFFER=
【责编:admin】

--------------------next---------------------

阅读(230) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~