How to use STA(sql tuning advisor)
1、SQL text format:
DECLARE
my_task_name VARCHAR2(30);
my_sqltext CLOB;
BEGIN
my_sqltext := ‘SELECT * FROM DBA_SEGMENTS WHERE OWNER=‘‘CLIC‘‘ AND SEGMENT_TYPE=‘‘TABLE‘‘‘;
my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_text => my_sqltext,
scope => ‘COMPREHENSIVE‘,
time_limit => 60,
task_name => ‘test_sql_tuning_task1‘,
description => ‘Task to tune a query‘);
DBMS_SQLTUNE.EXECUTE_TUNING_TASK(task_name => ‘test_sql_tuning_task1‘);
END;
/
2、SQL id format:
DECLARE
my_task_name VARCHAR2(30);
my_sqltext CLOB;
BEGIN
my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_id => ‘b3uaak09jfaxc‘,
scope => ‘COMPREHENSIVE‘,
time_limit => 60,
task_name => ‘test_sql_tuning_task1‘,
description => ‘Task to tune a query‘);
DBMS_SQLTUNE.EXECUTE_TUNING_TASK(task_name => ‘test_sql_tuning_task1‘);
END;
/
二、查看生成的STAreport:
set long 999999
set LONGCHUNKSIZE 999999
set serveroutput on size 999999
set linesize 200
select dbms_sqltune.report_tuning_task(‘test_sql_tuning_task1‘) from dual;
exec dbms_sqltune.drop_tuning_task(‘test_sql_tuning_task1‘);
删除优化任务
SQL> execdbms_sqltune.drop_tuning_task(task_name => ‘li_sql_1‘);
三、accept sql profile
接受建议的 SQL 概要文件,即创建SQL_Profle
SQL> execute dbms_sqltune.accept_sql_profile(task_name => ‘test_sql_tuning_task1‘,task_owner =>‘SYS‘, replace => TRUE);
查看创建起来的SQL_Profile信息
SQL>select a.name,a.task_id,a.createdfrom dba_sql_profiles a,dba_advisor_log bwhere a.task_id=b.task_idand b.task_name=‘test_sql_tuning_task1‘;
删除SQL_Profile
SQL>exec dbms_sqltune.drop_sql_profile(name =>‘SYS_SQLPROF_01411bdf99410002‘);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。