管理SQL调优集
SQL调优集(STS)是一个数据库对象,它包含一个或多个SQL语句及其执行统计信息和执行上下文,并且可以包括用户优先级排名。
您可以将SQL语句加载到来自不同SQL源的SQL调优集中,例如AWR,共享SQL区域或用户提供的自定义SQL。
STS包括:
■一组SQL语句
■关联的执行上下文,例如用户架构,应用程序模块名称和操作,绑定值列表以及游标编译环境
■关联的基本执行统计信息,例如已用时间,CPU时间,缓冲区获取,磁盘读取,已处理的行,游标提取,执行次数,完成执行次数,优化程序成本和命令类型
■每个SQL语句的关联执行计划和行源统计信息(可选)
您可以使用应用程序模块名称和操作或任何执行统计信息来过滤SQL语句。
此外,您可以根据执行统计信息的任意组合对语句进行排名。
您可以使用STS作为SQL Tuning Advisor的输入,SQL Tuning Advisor根据其他用户指定的输入参数执行SQL语句的自动调整。
您可以将SQL调优集从一个数据库导出到另一个数据库,从而在数据库之间传输SQL工作负载,以进行远程性能诊断和调优。
如果在生产数据库上执行性能不佳的SQL语句,开发人员可能不希望直接在生产数据库上进行调查和调优。
DBA可以将有问题的SQL语句传输到测试数据库,开发人员可以在其中安全地分析和调整它们。
要传输SQL调优集,请使用DBMS_SQLTUNE包。
您应尽可能使用Enterprise Manager管理SQL调优集,如“Oracle数据库2天+性能调优指南”中所述。
如果Enterprise Manager不可用,则可以使用DBMS_SQLTUNE包过程管理SQL调优集。
通常,您按以下顺序使用STS操作:
1.创建一个新的STS
参考“Dav_笔记12:Automatic SQL Tuning 之 2 管理STA”介绍了此任务。
2.加载STS
参考“Dav_笔记12:Automatic SQL Tu