sql tuning advisor 分析各个 SQL 语句, 并建议 SQL 概要文件, 统计信息, 索引和重构的 SQL 以改善 SQL 性能,自oracle 10g 开始提供,帮助DBA 分析、优化sql 执行性能问题。主要通过以下几种方式去使用:
方式1:
--通过 plsql dbms_sqltune 优化包
--create sql_tuning_task
declare
my_task_name varchar2(100);
my_sqlid varchar2(2000) ;
begin
my_sqlid :='&sql_id'
my_task_name := dbms_sqltune.create_tuning_task(
sql_id => my_sqlid,
scope => 'comprehensive',
time_limit => 60,
task_name => '&sql_id_tuning_task',
description => 'task to tune a query for &sql_id');
end;
/
--execute sql_tuning_task
begin
dbms_sqltune.execute_tuning_task(task_name => '&sql_id_tuning_task' );
end;
/
--report sql_tuning_task
select dbms_sqltune.report_tuning_task('&sql_id_tuning_task')
from dual;
--drop sql_tuning_task
begin
dbms_sqltune.drop_tuning_task('&sql_id_tuning_task');
end;
/
方式2:
--通过oracle 提供sqltrpt.sql 脚本
su – oracle
sqlplus / as sysdba
@?/rdbms/admin/sqltrpt.sql
方式3:
--通过OEM 指导中心sql 优化指导图形界面
