免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 913 | 回复: 0
打印 上一主题 下一主题

[RAID与磁盘阵列] Oracle9i 性能调整与优化 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-16 15:54 |只看该作者 |正序浏览

调整缓冲区高速缓存(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的命中率: 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’; 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的值: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的值。SELECT name,bytes FROM V$sgastat WHERE pool = ‘java pool’; 
调整重做有关的性能 
 Oracle重做有关的组件包括:Redo Log Buffer、Online Redo Log、LGWR、Archive Log、Checkpoint、Arch0. 
 1. 监视Redo Log Buffer的性能  Redo Log Buffer不采用LRU(Least Recently Used)算法管理。  当下列事件发生时,Redo Log Buffer的内容存盘:  Commit时、每3秒、空间使用1/3、达到1M、检查点。  如果写入Redo Log Buffer的速度超过LGWR存盘的速度,就会因等待而降低性能。  监视Redo Log Buffer的重试率(rmance Manager来测量检查点进程的性能:I/O中的平均灰数据队列长度(如果为0,说明检查点太频繁)。  建议调整online redo log的大小,使检查点进程每20-30分钟执行一次。 
 4. 调整联机重做日志文件  使用V$system_event来监视联机重做日志文件的性能:  log file parallel write、log file switch completed.  调整联机重做日志文件的方法:与数据文件、控制文件、归档日志文件分开,放在原始设备上。 
 5. 调整归档性能  检查归档进程的性能:通过V$system_event中的log file switch(archiving needed)事件。  检查每个归档进程的状态:V$archive_processes.  创建多个归档进程:init.ora参数LOG_ARCHIVE_MAX_PROCESSES(默认为2)。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/66684/showart_1083501.html
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP