一、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