调整buffer cache大小

Buffer Cache 存放真正数据的缓冲区, shared Pool 里面存放的是 sql 指令 (LC 中一次编译,多次运行,加快处理性能, cache hit ratio 要高 ) ,而 buffer cache 里面存放真正的查询结果。 Buffer Cache :由彼此独立的三个子 cache subcaches ,也叫主 buffer cache keep recycle default )组成支持多种数据块的多缓冲池。注意 system 表空间只能用主数据块
1 查看各个组件 size (看 buffer cache)
SQL> show parameter size

动态指定 db_cache_size 的大小
  SQL> alter system set db_cache_size=92M scope=both;

DB_CACHE_SIZE指定的是基于主块大小(primary block size)default缓冲池(buffer pool)的大小

2.该参数至少是4M*CPU个数*grunule大小。


采集统计数据用来预测不同cache size下的性能,用视图v$DB_CACHE_ADVICE查看。


SQL> select component,current_size,user_specified_size,granule_size

  2  from v$sga_dynamic_components;

 查看是否启用动态buffer cache advisory参数.

SQL> show parameter advice


1.如果statistics_level的值是typicalall,则db_cache_sizeon

2.三个值:onoffready

readyadvisory关闭,但是系统为其分配了内存,off->ready->on,正常开启顺序;

ready->off/off->on,报错ORA-4031(inability to allocate from the shared pool)!只有ready->on->off来关闭


查看 v$db_cache_advice 视图收集的 buffer cache advisory 信息 .

  SQL> select name,size_for_estimate,estd_physical_read_factor,estd_physical_reads


   2  from v$db_cache_advice;

NOTE: factorreads变化不大的情况下,无需增加buffer cache因为不会带来significant benefit,根据视图




标准的查询语句应为:

select size_for_estimate,buffers_for_estimate,estd_physical_read_fact,estd_physical_reads

from v$db_cache_advice

where name='DEFAULT'

AND block_size=(select value from v$parameter where name='db_block_size')

AND advice_status='ON';

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

转载于:http://blog.itpub.net/29638498/viewspace-1226295/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值