Case1: 执行计划变更引起的性能问题原因分析 “比起解决问题迅速准确的找到问题的原因更为重要!” 数据库的性能问题都是在复杂的环境,由多种复合型的原因引起,并以多样的形态呈现的。MaxGauge就是监控并且分析这些多样原因的一款工具。在PracticalTroubleshooting这个专栏中我们就针对这些性能问题中最常见的一些的问题进行具体的分析和讲解。在这一部分,我们针对正常运行的批处理程序及批处理sql在批处理窗口中突然不能正常执行的现象,及由于争用(LOCK等)引起的性能问题进行进行详细的分析。通过具体的分析,希望各位工程师们可以了解MaxGauge性能分析的方法论. 下面我们来看看第一个事例 Case1. 执行计划变更引起的性能问题原因分析 概述 CBO优化器更加适合现在数据量大,用户多,且大量的用户以不同的方式查询这些数据的环境 。但是不能忽视的是CBO容易出现执行计划(execution plan)变更的问题。当然,执行计划变更有时候时会得到好的结果,不过大多都是与之相反的。针对这个问题,Oracle在11g之后的版本中都提供 SPM (SQL Plan Management)来进行执行计划的管理。但是,实际上由于执行计划变更而导致的性能问题依旧是经常困扰DBA们的一个问题。所以,我们在这个case中就来介绍一下如何使用MaxGauge来诊断分析执行计划变更引起的性能问题。 分析步骤 运用MaxGauge进行性能问题原因分析步骤如下。在实时监控(real-timemonitoring)功能查看各个会话的SQL响应时间之后,排查出问题会话,然后将问题会话的执行历史在事后分析(Performance Analyzer)功能中进行具体分析。 图 1. 执行计划变更引起的性能问题分析流程简图 […]