您可以根据需要运行SQL Tuning Advisor。
本节包含以下主题:
- 关于按需SQL调优 按需SQL调优定义为SQL调优顾问的任何调用,该调用不是由自动SQL调优任务引起的。
- 创建SQL调整任务 要创建SQL调整任务,请执行该
DBMS_SQLTUNE.CREATE_TUNING_TASK功能。 - 配置SQL调整任务 要在调整任务创建后更改其参数,请执行该
DBMS_SQLTUNE.SET_TUNING_TASK_PARAMETER功能。 - 执行SQL调整任务 要执行SQL调整任务,请使用
DBMS_SQLTUNE.EXECUTE_TUNING_TASK函数。最重要的参数是task_name。 - 监视 SQL调整任务在Cloud Control中创建SQL调整任务时,不需要单独的监视步骤。Cloud Control会自动显示状态页面。
- 显示SQL调整任务 的结果要报告调整任务的结果,请使用
DBMS_SQLTUNE.REPORT_TUNING_TASK函数。
24.3.1关于按需SQL调整
按需SQL调整定义为SQL调整顾问程序的任何调用,该调用不是由自动SQL调整任务引起的。
本节包含以下主题:
- 按需SQL调整的目的 通常,您调用SQL Tuning Advisor来主动运行ADDM,或者在用户抱怨性能欠佳时主动调整SQL语句。
- 用于按需SQL调整 的用户界面建议手动运行SQL Tuning Advisor的用户界面是Cloud Control。
- 按需SQL调整中 的基本任务本节说明使用
DBMS_SQLTUNE软件包运行SQL Tuning Advisor的基本任务。
24.3.1.1按需SQL调整的目的
通常,您调用SQL Tuning Advisor来主动运行ADDM,或者在用户抱怨性能欠佳时主动地调整SQL语句。
在主动和被动方案中,运行SQL Tuning Advisor通常都是解决意外的SQL性能问题的最快方法。
24.3.1.2用于按需SQL调整的用户界面
推荐用于手动运行SQL Tuning Advisor的用户界面是Cloud Control。
本节包含以下主题:
- 使用云控制
自动数据库诊断监视器(ADDM)访问SQL Tuning Advisor会自动识别高负载SQL语句。如果ADDM标识了此类语句,则在“建议详细信息”页面上单击“ 计划/运行SQL Tuning Advisor ”以运行SQL Tuning Advisor。 - 按需SQL调整的命令行界面
如果无法使用Cloud Control,则可以使用DBMS_SQLTUNE软件包中的过程运行SQL Tuning Advisor 。
24.3.1.2.1使用云控制访问SQL Tuning Advisor
自动数据库诊断监视器(ADDM)自动识别高负载的SQL语句。如果ADDM标识了此类语句,则在“建议详细信息”页面上单击“ 计划/运行SQL Tuning Advisor ”以运行SQL Tuning Advisor。
要使用SQL Tuning Advisor手动调整SQL语句,请执行以下操作:
- 使用适当的凭据登录到Cloud Control。
- 在“ 目标”菜单下,选择“ 数据库”。
- 在数据库目标列表中,选择要管理的Oracle数据库实例的目标。
- 如果提示您输入数据库凭据,则输入您打算执行的任务所需的最低凭据。
- 在“ 性能”菜单中,单击“ SQL”,然后单击“ SQL Tuning Advisor”。
出现Schedule SQL Tuning Advisor页面。
也可以看看:
《 Oracle数据库2天+性能调整指南》,了解如何使用Cloud Control配置和运行SQL Tuning Advisor。
24.3.1.2.2命令行界面到按需SQL调整
如果无法使用Cloud Control,则可以使用DBMS_SQLTUNE软件包中的过程运行SQL Tuning Advisor 。
要使用API,用户必须具有ADVISOR特权。
也可以看看:
《 Oracle数据库PL / SQL软件包和类型参考》,以获取完整的参考信息
24.3.1.3按需SQL调整中的基本任务
本节说明使用该DBMS_SQLTUNE软件包运行SQL Tuning Advisor的基本任务。
下图显示了使用PL / SQL API时的基本工作流程。
图24-12 SQL Tuning Advisor API
如图24-12所示,基本过程如下:
- 准备或创建SQL Tuning Advisor的输入。输入可以是:
- 单个SQL语句的文本
- 一个包含一个或多个语句的SQL调优集
- 创建一个SQL调整任务。
请参阅“ 创建SQL优化任务 ”。
- (可选)配置您创建的SQL调整任务。
请参阅“ 配置SQL优化任务 ”。
- 执行SQL调整任务。
请参见“ 执行SQL调整任务 ”。
- (可选)检查SQL调整任务的状态或进度。
“ 监视SQL调整任务 ”。
- 显示SQL调整任务的结果。
“ 显示SQL调整任务的结果 ”。
- 实施适当的建议。




