一些等待事件已经被优化
不良的SQL语句已经被优化
操作系统级别无不良的内存页面置换
上次增加的buffer cache有效
基于上面的情形,且命中率很低,此时可以增加buffer cache
二、增加buffer cache 的步骤
首先将db_cache_advice置于ON 状态
检查动态性能视图v$db_cache_advice(需要考虑增加后不影响操作系统级别过多的内存页面置换)
动态增加db_cache_size的值(生产数据库不建议关闭系统而使用动态调整alter system set db_cache_size=nM;)
查看当前buffer cache的大小
SELECT NAME,current_size,buffers FROM v$buffer_pool;
NAME CURRENT_SIZE BUFFERS
------------------------------ ------------ ----------
DEFAULT 3456 428760
三.减少buffer cache 的情形
在命中率很高的情形下,查询视图v$db_cache_advice,来权衡适度降低buffer cache size是否会使得系统I/O显剧增加,如不是,且
降低buffer cache size不会影响性能的情况下,则可以适度降低buffer cache size的大小。
使用alter system set db_cache_size来调整
四.使用advisor来调整buffer cache
buffer cache advisor 可以启用或禁用通过收集统计信息来预估buffer cache的大小,然后根据预估的大小以及工作负荷来调整buffer
cache的大小。buffer cache advisor功能通过设置参数db_cache_advice 开启用或禁用,该参数仅能支持系统级别的修改。
其参数值为:OFF,ON,READY
OFF:禁用buffer cache advisor特性,且不为advisor分配内存
READY:不收集数据,但是收集数据的内存已经预先分配好了.通过把参数值从off设置为ready,然后再设置为on,以避免出现错误。
ALTER SYSTEM SET db_cache_advice = ON | READY | OFF ;
该参数设置的前提条件为STATISTICS_LEVEL参数必须要先设置为TYPICAL或者ALL
通过设置启用buffer cache advisor 功能后,可以查看视图v$db_cache_advice来获得不同负荷下的advisor
以下是该视图的几个重要列
SIZE_FOR_ESTIMATE
BUFFERS_FOR_ESTIMATE
ESTD_PHYSICAL_READS
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13824386/viewspace-700083/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13824386/viewspace-700083/