一、oracle性能优化概述
前导书记《oracle concepts》 1.性能优化发展史: 80年代:通过SQL优化(唯一手段) 80年代中期到90年代中期:通过命中率调整 90年代中到2001开始:通过OWI 2001年:出现响应时间模型 2005年:出现ASH(10g) 2007年:事务回放技术(11G) 2.优化域 oracle, 应用程序, 操作系统 3.响应时间分析 响应时间=排队时间+服务时间 Oracle 10g完全确定了时间分析模型,特别是在Oracle10g引进了接近实时的业务流程跟 踪(v$active_session_history),可以很好的完成时间响应分析。 http://blog.chinaunix.net/uid-3634-id-2130063.html 4.oracle优化方法 应用分析:通过对应用中的SQL语句及算法的分析解决性能问题 命中率分析:传统的分析方法,无法明确反映出系统的实际情况 Wait Event分析:可以针对性的解决性能问题 5.优化的流程 明确性能问题:了解清楚性能问题现象,收集确定出现性能问题时系统的负责,变化等基线状态; 分析:分析资源消耗,命中率,TOP SQL,主要等待事件,OS配置等信息; 确定方案:系统备份方案,针对分析问题产生的原因,确定调优方案,风险评估确定回退方案; 执行:参照方案,备份,修改,执行过程详细文档记录; 验证:整体运行情况,实例启停,核心业务验证,比对基线状态完成调优说明报告 6.数据采集 交互式采集:实时采集 历史数据采集:定期定时采集 短间隔数据采集:可以采集到更为细致的数据,系统的资源消耗较大。 长间隔数据采集:可以看到中长期的趋势以及概貌性状态,可能会忽略掉突发性事件以及潜在的关键点。 平时数据采集间隔不宜过短,发现问题时再调整采集间隔 趋势分析:对一定时间内的数据进行分析,关注数据变化情况,关注变更的频率和节奏,峰值,发展趋势 7.优化文档架构 简介: 概括本次调优的目标和任务,以及工作范围。并且给出总体的结论 目标和任务:主要任务以及已经完成的任务 性能综述:性能分析的主要结论 详细性能分析:操作系统性能分析、存储性能分析、数据库性能分析、应用性能分析 等详细分析结果 参考资料:引用的资料,包括官方文档、专家意见、相关成功案例等能够帮助你说服你 的客户的资料 注意收集标准的模板: 8.处理性能问题步骤及原则 确保不要让系统宕机 明确调优过程能够获得的其他支持力量 确保简单及时可行的沟通机制(和各方面的) 记录下当前的性能详细情况 明确问题,定位故障,给出对应优化方案 安装工具,实施优化方案 效果评估,继续改进优化 文档记录下这个成功案例 二、操作系统信息监控工具 1.top:监控系统实时负载率、进程的资源占用率及其它各项系统状态属性是否正常,如果SWAP有使用说明物理内存不足 2.iostat:监控系统IO状态信息 iostat 2 5 关注TPS吞吐量 -x参数查看备使用率(%util)、响应时间(await) -c 查看CPU信息。 3.vmstat:监控系统的CPU,内存,IO等信息。 4.ps:搜索进程信息,ps -ef | grep ora 列出含有ora的进程。 5.sar:(System Activity Reporter系统活动情况报告)可以从多方面对系统的活动进行报告,包括:文件的读 写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等 6.free:内存使用情况,free -m 7.ping:网络监控ping ip -t