SGA调大?你调整了什么参数?PGA你是怎么调整的?数据库是9I?
高速缓存命中率从STATSPACK中看的?
高速缓存命中率从STATSPACK中看的?
解决方案 »
- 关于oracle存储过程全表扫描处理百万数据的速度问题
- oracle10g 物理standby 数据同步
- 这个语句还能不能优化呀?谢谢了。
- SQL中使用distinct去除重复列遇到的问题
- 问个存储过程
- 怎么在游标中使用forall提高速度啊??????
- 关于Oracle9i Application Server中的sing sign-on的功能.
- *******小女子有事需要大家帮忙?从VFP库中取数据至Oracle(望邹健及各位高手请不吝赐教)*****
- 我的Oracle数据库被恢复到一个星期前的状态,我想知道是谁作的该怎么看?
- oracle9i字符集问题
- 有没有像SQL SERVER里的跟踪器跟踪用户向数据库操作呢
- ORACLE ENTERPRISE MANAGER CONSOLE 进不去
这些参数的查看和调整我都在oem中完成的。
内存参数的调整主要是指ORACLE数据库的系统全局区(SGA)的调整。SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。1、 共享池由两部分构成:共享SQL区和数据字典缓冲区,共享SQL区是存放用户SQL命令的区域,数据字典缓冲区存放数据库运行的动态信息。数据库管理员通过执行下述语句:select (sum(pins - reloads)) / sum(pins) "Lib Cache" from v$librarycache;来查看共享SQL区的使用率。这个使用率应该在90%以上,否则需要增加共享池的大小。数据库管理员还可以执行下述语句:select (sum(gets - getmisses - usage - fixed)) / sum(gets) "Row Cache" from v$rowcache;查看数据字典缓冲区的使用率,这个使用率也应该在90%以上,否则需要增加共享池的大小。2、 数据缓冲区。数据库管理员可以通过下述语句:SELECT name, value FROM v$sysstat WHERE name IN ('db block gets', 'consistent gets','physical reads');来查看数据库数据缓冲区的使用情况。查询出来的结果可以计算出来数据缓冲区的使用命中率=1 - ( physical reads / (db block gets + consistent gets) )。这个命中率应该在90%以上,否则需要增加数据缓冲区的大小。3、 日志缓冲区。数据库管理员可以通过执行下述语句:select name,value from v$sysstat where name in ('redo entries','redo log space requests');查看日志缓冲区的使用情况。查询出的结果可以计算出日志缓冲区的申请失败率:申请失败率=requests/entries,申请失败率应该接近于0,否则说明日志缓冲区开设太小,需要增加ORACLE数据库的日志缓冲区。
v$librarycache表中以下几列反映了库高速缓存在执行调用阶段的不命中;pins,显示在库高速缓存中执行的次数;
reload,显示在执行阶段库高速缓存不命中的数目如:select sum(pins) "请求存取数",sum(reloads) "不命中数"
from v$librarycache一般sum(reloads)/sum(pins)的值应接近于零.如果大于1%就有问题了.通过动态性能表v$rowcache来查询数据字典高速缓存的活动select sum(gets) "请求存取数",sum(getmisses) "不命中数"
from v$rowcache注:列gets,显示请求相应项的总数;
getmisses,显示造成高速缓存不命中的数据请求数.不命中数与总存取数的比也应当接近于0,如果大于10%,应该增加shared_pool_size的值,
来提高数据字典高速缓存可用的内存数量,减少不命中数.