- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0 |
第五课 调整缓冲区高速缓存(Buffer Cache)的性能
Buffer cache由数据块组成。
1. Buffer cache的工作原理
LRU列表:MRU ………………。 LRU.(全表扫描FTS放在LRU端。)
缓冲区块的状态:Free、Pinned、Clean、Dirty.
Dirty List或Write List(写列表)。
数据库写进程DBW0将缓冲区高速缓存中的数据写到数据文件中。
2. 测量Buffer cache的性能
测量Buffer cache的命中率:
SQL> select 1-((physical.value – direct.value – lobs.value)/logical.value) “Buffer Cache Hit Ratio” from V$SYSSTAT physical, V$SYSSTAT direct,
V$SYSSTAT lobs, V$SYSSTAT logical where physical.name = ‘physical reads’
And direct.name = ‘physical reads direct’ and
lobs.name = ‘physical reads direct (lob)’
And logical.name = ‘session logical reads’;
“Buffer Cache Hit Ratio”的值要 > 90%.
使用STATSPACK来监视Buffer cache.
使用REPORT.TXT来监视Buffer cache.
非命中率指标:Free Buffer Inspected、Free Buffer Waits、Buffer Busy Waits.(V$sysstat)
使用Performance Manager(数据库例程)来监视Buffer Cache.
3. 提高缓冲区高速缓存性能的方法
加大Buffer Cache的大小:init.ora参数DB_CACHE_SIZE(动态参数)。
使用Buffer Cache Advisory功能决定Buffer Cache的大小:
首先将init.ora参数DB_CACHE_ADVICE设成ON,然后查询V$DB_CACHE_ADVICE.
使用多个缓冲区池:
Keep Pool: DB_KEEP_CACHE_SIZE
Recycle Pool:DB_RECYCLE_CACHE_SIZE
Default Pool: DB_CACHE_SIZE
在内存中缓存表: 表的CACHE选项,对优化小表的全表扫描。
正确创建索引。
4. 调整Large Pool和JAVA POOL
Large Pool用于共享服务器、RMAN、并行查询、DBWR的从属进程。
Large Pool的大小通过init.ora参数Large_pool_size设置。默认为8M.
从V$sgastat中监视free memory的值:
SQL>SELECT name,bytes FROM V$sgastat WHERE pool = ‘large pool’;
JAVA_POOL池的默认大小为32M.对于大型Java应用程序,JAVA_POOL池的大小应大于50M.
init.ora参数java_pool_size
从V$sgastat中监视free memory的值。
SQL>SELECT name,bytes FROM V$sgastat WHERE pool = ‘java pool’;
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |