1 SQL Performance Analyzer概览
Oracle数据库包括SQL Performance Analyzer,它可以准确地评估更改对构成工作负载的SQL语句的影响。SQL Performance Analyzer帮助预测潜在更改对SQL查询工作负载性能的影响。此功能提供关于SQL语句性能的详细信息,例如执行前后的统计数据,以及性能改善或降低的语句。这样能够在测试环境中进行更改,以确定工作负载性能是否会通过数据库升级得到改善。
2 可以使用SPA的数据库改变
SQL Performance Analyzer可用于在数据库环境更改的情况下,预测和防止任何影响SQL执行计划 潜在性能的问题。数据库环境改变可以包括(但不限于)以下任何一项:
数据库升级
实施调优建议
模式变化
统计数据收集
数据库参数变化
操作系统和硬件更改
即使在最复杂的环境中,也可以使用SQL Performance Analyzer来预测由于更改而导致的SQL性能更改。随着应用程序在开发生命周期中的发展,数据库应用程序开发人员可以测试模式、数据库对象和重写应用程序的更改,以减轻任何潜在的性能影响。
SQL Performance Analyzer还支持SQL性能统计数据的比较。
可以通过企业管理器或使用DBMS_SQLPA包访问SQL Performance Analyzer。
3 执行SPA过程
- 收集SQL:在这个阶段,收集生产系统上SQL工作负载的SQL语句集。
- 传输:必须将生成的工作负载传输到测试系统。从生产系统导出STS,并将STS导入测试系统。
- 计算“before-version”性能:在发生任何更改之前,执行SQL语句,收集评估未来更改可能对工作负载性能的影响所需的基线信息。
- 进行更改:在获得版本前数据之后,可以实现计划中的更改,并开始查看对性能的影响。
- 计算“after-version”性能:这一步发生在数据库环境中进行更改之后。SQL工作负载的每条语句都在模拟执行(仅收集统计信息),收集的信息与步骤3中捕获的信息相同。
- 比较和分析SQL性能:在拥有两个版本的SQL工作负载性能数据之后,可以通过比较版本后数据和版本前数据来执行性能分析。
- 优化回归SQL:在此阶段,已经准确地确定了在进行数据库更改时哪些SQL语句可能会导致性能问题。在这里,可以使用任何数据库工具来调优系统。在实现任何调优操作之后,应该重复这个过程来创建一个新的后版本,并分析性能差异,以确保新的性能是可以接受的。
4 练习题
即使启用了自动维护任务,SQL Tuning Advisor也始终必须单独启动。
A ture
B false
答案:B
我们可以收到由AWR快照收集的历史SQL语句的性能建议。
A true
B false
答案:A
SQL Access Advisor可以针对给定的工作负载推荐适当的物化视图集、物化视图日志、分区和索引。
A true
B false
答案:A




