oracle温故知新--buffer cache(一)特性及参数

这段时间没事,把以前的一些调优的资料,翻出来看看,重新整理了

一、buffer cache特性

1.工作原理:

13824386_201106150857151.jpg

Buffer cache是Oracle SGA中的重要组成部分, 所有用户都可以共享这些块,server process进程访问数据时,S erver process一次性可以读取多个数据块;DBwn负责往数据文件读写文件
     这里在给出一份更详细的总结.通常数据的访问和
     修改都是需要通过buffer cache来完成的,
     当一个server process访问数据的时候,
     首先需要确定的是,我们所需要的数据在
     buffer cache中是否存在,如果数据在buffer中存在呢
     ,我们还需要根据data buffer的状态,
     来判断是否进行db block gets还是consistent gets,
     如果数据在buffer中不存在,
     则我们需要在buffer cache中寻找足够的空间来
     加载我们所需要的数据,
     如果在buffer cache中我们找不到足够的空间,
     那么我们就需要触发DBWn进程,
     去写出脏数据,用来释放我们的buffer空间

2 buffer在BC有四种状态: 
       pinned:正在写,占用,只能被一个进程占用
       clear:干净的数据,与数据库文件中CR 快照是同步的,没有被进程使用
       feee/unused:空闲
       dirtyL脏数据块,与clear相对的
3  使用两个列表管理缓冲区高速缓存中的块
 – 最近最少使用的 (LRU) 列表用于保持内存中最近访问的块 列表中的块
 按照从最近最常使用 (MRU) 到最近最少使用的顺序组织
 – 灰数据列表指向缓冲区高速缓存中的块 这些块虽已修改但尚未写入 磁盘
4  DB_BLOCK_CHECKNUM 参数
        如果DB_BLOCK_CHECKNUM设置为true的话,那么在数据库底层,会给造成系统带来2%左右系统开销,增加系统可靠性

二 初始化参数

    1)db_block_size 规定主块的大小,决定了system中
      primary buffer cache(recycle keep default) 表BLOCK大小
      db_cache_size
      db_keep_cache_size
      db_recycle_cache_size
      2)动态调整参数      
       db_clock_checksum(1% 2%)
       db_cache_advice(off/ready/on) 打开预测参考值,动态收集数据性
       能资料,为设置db_cache,提供参考。该参数只能在session级别使用
       状态由off---ready -------on
       alter system set db_cache_advice=''
      3) v$db_cache_advice 视图
         关于该视图,可以参考帮助文档

三 附上buffer cache 结构图,

     以便加深理解

fj.pngBUFFER CACHE结构图.jpg

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

转载于:http://blog.itpub.net/13824386/viewspace-697951/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值