Tag Archives: SPA

SPA使用详解

这里的SPA不是说美容,而是Oracle的SQL性能优化分析器,SQL Performance Analyzer。说到SPA就不得不提Oracle关于SQL优化的几个常见的术语,SQL Tuning Advisor, SQL Tuning Set,SQL Performance Analyzer。 STS=SQL Tuning Set,SQL调优集,是一系列Oracle SQL的集合,这些SQL可以从AWR或者cursor cache中获得。可以使用DBMS_SQLTUNE包中SQL Tuning Set相关的函数和过程进行操作。 STA=SQL Tuning Advisor,SQL优化顾问,是针对SQL调优集或者SPA甚至单纯的SQL进行优化。可以使用DBMS_SQLTUNE包中SQL Tuning Advisor相关的函数和过程进行操作。 SPA=SQL Performance Analyzer,SQL性能分析器。针对数据库变更进行的性能分析。变更包括数据库升级,平台/版本/架构变更,参数调整,统计信息收集等等。SPA其实也是Oracle Real Application Testing的一个组件,另外一个组件就是前面介绍过的Database Replay。SPA的原理是通过变更前对收集的STS进行执行,获取基线数据,变更后再次进行执行,然后进行对比,从多个维度比如CPU时间,I/O,buffer get等生成详细的变更对比报告。 典型用法是捕捉STS,然后通过SPA生成对比报告,然后对变更后衰减的SQL调用STA进行优化。 下面是一个SPA的使用详解,其中的输入就是从AWR两个快照之间取的STS: –Drop STS: SQL> exec DBMS_SQLTUNE.DROP_SQLSET(sqlset_name => 'my_sts'); –Create … Continue reading

Posted in 数据库 | Tagged , | Leave a comment