keep池和recycle池

如果可使用的内存空间比较小,导致数据缓冲区的命中率较低,可以通过配置keep池和recycle池,把性质不同的表分离到不同的数据缓冲区,以提高命中率,降低批操作对正常访问的影响。

默认情况,所有表都是用default池,大小就是buffer cache的大小,由db_cache_size来决定。两个缓冲区的大小分别有参数db_keep_cache_size和db_recycle_cache_size来决定。
在8i中只能修改pfile,然后重启;在9i中可以动态修改,必须先缩小sga中其他内存缓冲区的大小,然后再增加上面两个值。

keep池用来缓存那些经常被访问的表。独立于default池。用户可以查询v$bh视图来找到经常被使用的表。

sql> col object_name format A30
sql> select  o.object_name,count(*)
from dba_object o,v$bh bh
where o.object_id = bh.objd and o.owner !='sys'
group by o.object_name having count(*) > 100
order by count(*) desc;

计算keep池的命中率。
sql> select name,physical_reads,db_block_gets,consistent_gets,1-(physical_reads / (db_block_gets + consistent_gets)) "hit ratio"
from v$buffer_pool_statistics where name='keep';

recycle池用来缓存不希望保存在内存中的表。如很少进行扫描的表。调整db_recycle_cache_size的大小来设置recycle池。一般不要给recycle池很大的空间。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8570952/viewspace-713743/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8570952/viewspace-713743/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值