使用SQL Tuning Advisor进行无限调优
您可以手动调用SQL Tuning Advisor以按需调整一个或多个SQL语句。
要调整多个语句,必须创建SQL调优集(STS)。
SQL调优集是一个数据库对象,它存储SQL语句及其执行上下文。
您可以使用命令行API或企业管理器创建SQL调优集。
请参见“Dav_笔记12:Automatic SQL Tuning 之 4 管理SQL调优集”。
输入源
SQL Tuning Advisor的输入可以来自多个来源,包括:
■ADDM(自动数据库诊断监视器)
主要输入源是ADDM。 默认情况下,ADDM每小时主动运行一次,并分析自动工作负载存储库(AWR)在过去一小时内收集的关键统计信息,以确定包括高负载SQL语句在内的任何性能问题。 如果标识了高负载SQL,ADDM建议在SQL上运行SQL Tuning Advisor。 请参见第6-1页的“自动数据库诊断监视器概述”。
■AWR
第二个最重要的输入源是自动工作负载存储库(AWR)。 AWR定期拍摄系统活动的快照,包括按相关统计信息排序的高负载SQL语句,如CPU消耗和等待时间。
您可以查看AWR并手动识别高负载SQL语句。您可以在这些语句上运行SQL Tuning Advisor,尽管Oracle数据库会自动执行此工作,作为自动SQL调优的一部分。默认情况下,AWR会保留过去八天的数据。您可以使用此方法查找和调整在AWR保留期内运行的任何高负载SQL。请参阅第5-8页的“自动工作负载存储库概述”。
■共享SQL区域
第三种可能的输入源是共享SQL区域。数据库使用此源来调整尚未在AWR中捕获的最新SQL语句。共享SQL区域和AWR提供了从AWR保留允许的当前时间识别和调整高负载SQL语句的功能,默认情况下至少为8天。
■SQL调优集
SQL Tuning Advisor的另一个可能的输入源是SQL调优集。 SQL调优集(STS)是一个数据库对象,它存储SQL语句及其执行上下文。 STS可以包括尚未部署的SQL语句,目的是衡量其个人绩效,或识别性能低于预期的那些。当一组SQL语句用作输入时,数据库必须首先构造并使用STS。请参见“Dav_笔记12:Automatic SQL Tuning 之 4 管理SQL调优集”。
调优选项
SQL Tuning