ITPub博客

首页 > Linux操作系统 > Linux操作系统 > performance tunning --buffer cache

performance tunning --buffer cache

原创 Linux操作系统 作者:oracle_db 时间:2012-06-03 12:34:54 0 删除 编辑
BUFFER CACHE是什么?
SGA中的一部分,内存中的东西,在11G 中BUFFER CACHE又为:DEFAULT BUFFER CACHE,KEEP BUFFER CACHE,RECYCLE BUFFER CACHE,NKBUFFER CACHE.与BUFFER CACHE相关的进程主要有DBWN,相关的文件主要有SYSTEM,SYSAUX,UNDO,DATAFILE.它与SHARED POOL一样也采用LRU算法
与DB BUFFER CACHE相关的参数?
DB_BLOCK_SIZE,
DB_CACHE_SIZE,
DB_KEEP_CACHE_SIZE,
DB_RECYCLE_CACHE_SIZE,
DB_BLOCK_CHECKSUM,
BUFFER CACHE特点?
BUFFER CACHE中保存的是从磁盘当在读到内存中的数据块,一个BUFFER 对应一个BLOCKS.BUFFER CACHE是SGA的组成部分,所以说BUFFER CACHE中的这些块能被所有用户共享。与用户相连接的SERVER PROCESS把数据从磁盘读取到BUFFER CACHE中,不是DBWN,DBWN只是写把数据写回到磁盘。为了提高性能可以让SERVER PROCESS一次读取多个块。DBWN就是把数据从BUFFER CACHE中写回到磁盘,同样的为了提高性能一次写也可以写多个块。任何一个时候BUFFER CACHE中会保存一个数据块的多个拷贝,这个块的被修改后的最新状态的拷贝只有一份。这样做可以为数据库提供读一致性的功能。LRU列表来监控BUFFER CACHE的使用,它们把对块访问最多的放在LRU前面,那些非热点块向后边移动
BUFFER CACHE中的数据块有4种状态
1.PINNED,有多个进程都想写同样一个块,其它进程只有等
2.CLEAN,BUFFER CACHE中的改状态数据块与磁盘上的内容是一样的,或者说是这些块是读一致性块这些数据块也没有被使用,这样的数据块会优先从LRU中淘汰
3.FREE UNUSED:从来没有用过的块,
4.DIRTY:脏数据块,这时候需要把这些数据块中的数据写到磁盘上,因为它们的内容与磁盘不一致。

当DBWN把数据从BUFFER CACHE写回磁盘的时候,BUFFER CACHE就会逐渐被清空。这里有一个DB_BLOCK_CHECKSUM,当它设置为TRUE时,它对数据进行一种检查,这可以防止由于低层操作系统损坏带来的数据块的损坏。设置这个参数可能增加1%到2%的负荷,但是推荐设置这个参数为TURE..这样提高系统的可靠性。

DB_CACHE_ADVISE参数说明?

它有3种状态ON,READY,OFF.建议先从OFF 变成READY在变成ON,设置好它就在后台收集信息。V$DB_CACHE_ADVISE列出了最终的预测结果与BUFFER CACHE相关的。可以根据这个视图的结果来决定BUFFER CACHE的大小。主要作用是减少物理读的次数。

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

上一篇: AUTOTRACE选项说明
请登录后发表评论 登录
全部评论

注册时间:2008-11-13

  • 博文量
    158
  • 访问量
    306174