oracle 9I buffer cache分析

来源:互联网 发布:电视剧网络播放量查询 编辑:程序博客网 时间:2024/05/19 23:55
    对于应该设置buffercache为多大,oracle从9i开始通过设置初始化参数:db_cache_advice,从而提供了可以参照的建议值。oracle会监控default类型、keep类型和recycle类型的buffercache的使用,以及其他五种不同数据库尺寸(2、4、8、16 或 32k)的buffercache的使用。在典型负荷的时候,启用该参数,从而收集数据帮助用户确定最佳的db_cache_size的大小。该参数有三个值:
   1) off:不收集数据。
   2)on:开始分配内存收集数据,有可能引发CPU和内存的负担,可能引起4031错。
   3)ready:不收集数据,但是收集数据的内存已经预先分配好了。通过把该参数值从off设置为ready,然后再设置为on,就可以避免出现4031错。

   oracle会根据当前所监控到的物理读的速率,从而估算出在不同大小尺寸的buffercache下,所产生的可能的物理读的数量。oracle会将这些收集到的信息放入视图:v$db_cache_advice中。每种类型的buffercache都会有相应的若干条记录来表示所建议的buffercache的大小。比如下面,我们显示对于缺省类型的、缺省数据块尺寸的buffer cache的建议大小应该是多少。

SQL> SELECT size_for_estimate,buffers_for_estimate,
        estd_physical_read_factor,estd_physical_reads
  FROM v$db_cache_advice
  WHERE NAME = 'DEFAULT'
  AND block_size = (SELECTVALUE
  FROM v$parameter
  WHERE NAME ='db_block_size')
  /
SIZE_FOR_ESTIMATE BUFFERS_FOR_ESTIMATE ESTD_PHYSICAL_READ_FACTORESTD_PHYSICAL_READS
----------------- -------------------- --------------------------------------------
                               500                   1.3869              40154
                              1000                   1.3848              40093
              12                1500                   1.1861              34339
              16                2000                   1.1397              32996
              20                2500                                     28952
              24                3000                                     28952
              28                3500                                     28952
              32                4000                                     28952
              36                4500                   0.8671              2510451099在线学习网 http://www.51099

原创粉丝点击