ORACLE SPA(SQL Performance Analyzer)讲解

作者简介:孙显鹏,Oracle 十年从业经验,拥有11G ocp认证,精通内部原理,擅长调优,解决疑难问题,致力于帮助客户解决生产过程过出现的性能问题,提高生产效率!爱好书法!

前言:

迁移数据库,修改数据库参数或者升级数据库后,如何确定原库的SQL在目标库执行时没有出现性能衰退呢?使用ORACLE 的SPA(SQL Performance Analyzer)包可完成该功能。SPA通过比较原库和目标库收集的SQL集合的执行统计数据,最终给我们一个比较结果,通过分析对比结果数据可明确哪些SQL出现性能衰退。查找衰退原因修复问题,确保SQL在迁移后能满足业务需求。这样的迁移才是完整的。接下来演示如何使用SPA测试SQL的执行情况。

场景:

原库为11.2.0.3,目标库为12.2.0.1,把目标库当做要升级的数据库(通过xtts迁移了两个表空间),在目标库中建立spa-sts,首先通过dblink在原库执行sql trial,然后在目标库执行SQL trial,最后比较两个SQL trial。这样就达到了对比升级后系统是否可以符合业务实际要求。

操作步骤:

  • 准备测试SQL:

  • 建立 STS :

如果获取特定schema信息如下:

–dbms_sqltune.select_cursor_cache(‘parsing_schema_name <> ”YACLAIM”’, null, null, null, null,1, null, ‘ALL’)

  • Create a task to run Sql Performance Analyzer:

— 1. create a task with a purpose of change impact analysis

— 2. check task status

  • Execute Before Change TEST EXECUTE (Pre-Change SQL Trial):

beforechange.sql

–Now I am ready to run the Before Change Execute

  • Execute After Change TEST EXECUTE (Post-Change SQL Trial):

  • Comparing SQL Trials:

–Now we need to compare the 2 executions Before Change and After Change.

–I am selecting the comparison matrix as BUFFER_GETS.

–compare_runs.sql

  • Generate compare report:

–Now I will generate a compare report

–The report format can be TEXT,HTML,OR XML

–report.sql

  • analyze report:

这里贴出部分报告

未经允许不得转载:Oracle一体机用户组 » ORACLE SPA(SQL Performance Analyzer)讲解

相关推荐