Introduction

uning SQL Statements Using SQL Tuning Advisor

Tuning SQL Statements Using SQL Tuning Advisor (without Enterprise Manager)

Below are the steps to use SQL Tuning Advisor for particular SQL.

1) Create tuning task using SQL_ID
2) Execute tuning task
3) Generate report for the tuning task

STEP 1:

CREATE tuning tasks for SQL_ID picked from <<<<AWR>>>>>

DECLARE
l_sql_tune_task_id  VARCHAR2(100);
BEGIN
l_sql_tune_task_id := DBMS_SQLTUNE.create_tuning_task (
begin_snap  => 11716,
end_snap    => 11717,
sql_id      => ‘f4am5zd2tc2ys’,
scope       => DBMS_SQLTUNE.scope_comprehensive,
time_limit  => 6000,
task_name   => ‘dyfp8d71pjym8_tuning_task’,
description => ‘Tuning task for statement f4am5zd2tc2ys in AWR.’);
DBMS_OUTPUT.put_line(‘l_sql_tune_task_id: ‘ || l_sql_tune_task_id);
END;
/

CREATE tuning tasks for SQL_ID for running session  <<<<<Cursor Cache>>>>>

DECLARE
l_sql_tune_task_id  VARCHAR2(100);
BEGIN
l_sql_tune_task_id := DBMS_SQLTUNE.create_tuning_task (
sql_id      => ‘f4am5zd2tc2ys’,
scope       => DBMS_SQLTUNE.scope_comprehensive,
time_limit  => 6000,
task_name   => ‘f4am5zd2tc2ys_tuning_task’,
description => ‘Tuning task for statement f4am5zd2tc2ys’);
DBMS_OUTPUT.put_line(‘l_sql_tune_task_id: ‘ || l_sql_tune_task_id);
END;
/

STEP 2:

SELECT task_name, status FROM dba_advisor_log WHERE task_name like ‘f4am5zd2tc2ys_tuning_task%’;

EXEC DBMS_SQLTUNE.execute_tuning_task(task_name => ‘f4am5zd2tc2ys_tuning_task’);

STEP 3:

SET lines 200 pages 1000
SET LONG 999999999
SET longchunksize 200

SELECT DBMS_SQLTUNE.report_tuning_task(‘f4am5zd2tc2ys_tuning_task’) from dual;

STEP 4: To drop the sql tuning tasks (OPTIONAL)

EXEC DBMS_SQLTUNE.drop_tuning_task(task_name => ‘f4am5zd2tc2ys_tuning_task’);
Recent Posts

Start typing and press Enter to search