SQL Tuning advisor

本文介绍如何使用PL/SQL过程创建并执行SQL调优任务,包括设置SQL语句、指定任务参数、执行调优任务及查看报告等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GRANT ADVISOR TO WMS;

DECLARE 
      my_task_name VARCHAR2(30); 
      my_sqltext CLOB; 
    BEGIN 
      my_sqltext := 'select count(1) as TYPE_NUM, TYPE_DESC from WMS.VW_WMS_OUT_WAREHOUSE_TASK_t t1 WHERE 1 = 1 group by TYPE_DESC'; 
    
      my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK( 
                              sql_text => my_sqltext, 
                              user_name => 'WMS', 
                             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; 
  /
  
user_advisor_tasks或者dba_advisor_tasks来查看调优任务执行的状况 
select task_name,ADVISOR_NAME,STATUS from user_advisor_tasks; 


SQL> set long 999999
SQL> set LONGCHUNKSIZE 999999
SQL> set serveroutput on size 999999
SQL> set linesize 200
SQL> select dbms_sqltune.report_tuning_task('test_sql_tuning_task1') from dual;


SQL> select dbms_sqltune.report_tuning_task('test_sql_tuning_task1') from dual;

     grant select_catalog_role to user;  --通过OEM管理必不可少
     grant execute on dbms_sqltune to user;
 
execute dbms_sqltune.accept_sql_profile(task_name =>'test_sql_tuning_task1',

task_owner => 'WMS', replace => TRUE, profile_type => DBMS_SQLTUNE.PX_PROFILE);


--删除
begin
  DBMS_SQLTUNE.drop_tuning_task(task_name => 'test_sql_tuning_task1');
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值