首页 > 数据库技术 > 详细

ORACLE dbms_sqltune

时间:2014-01-21 01:32:40      阅读:583      评论:0      收藏:0      [点我收藏+]

As usually, we do some sql tuning, and we also can do it with the help of oracle dbms_tunne which is the oracle sql tuning advisor.

After oracle 10g, oracle provide one function for sql tuning automatically named dbms_sqltune. 

Where can it be used?

We often use it with oracle enterprise manager, grid control, addmrpt or manually do it.

For manually as:

DECLARE
  SQLTUNING_TASK VARCHAR2(30);
  SQL_TEXT CLOB;
BEGIN
  SQL_TEXT := ‘select * from t1 where object_id = 2‘;
  SQLTUNING_TASK := DBMS_SQLTUNE.CREATE_TUNING_TASK(

    SQL_TEXT => SQL_TEXT,
    USER_NAME => ‘WINKEY‘,
    SCOPE => ‘COMPREHENSIVE‘,
    TIME_LIMIT => 15,
    TASK_NAME => ‘my_task‘,
    DESCRIPTION => ‘winkey‘
    );
END;
/

SELECT TASK_NAME FROM DBA_ADVISOR_LOG;   --sqladvisor log

--execute sql tuing task
BEGIN
  DBMS_SQLTUNE.EXECUTE_TUNING_TASK( TASK_NAME => ‘my_task‘);
END;
/

--checking for sql tuing task
SELECT status
FROM   USER_ADVISOR_TASKS
WHERE  TASK_NAME = ‘my_task‘;

-- Checking the Progress of SQL Tuning Advisor
SELECT SOFAR, TOTALWORK
FROM   V$ADVISOR_PROGRESS
WHERE  USER_NAME = ‘WINKEY‘ AND TASK_NAME = ‘my_task‘;

SET LONG 2000
SET LONGCHUNKSIZE 1000
SET LINESIZE 100
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK( ‘my_task‘)
FROM   DUAL; 

Just do it !


ORACLE dbms_sqltune

原文:http://blog.csdn.net/ora_raymond/article/details/18305667

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!