DBMS_SQLTUNE example of optimization


DECLARE
my_task_name VARCHAR2 ( 30 );
my_sqltext   CLOB;
BEGIN

  my_sqltext:='select p.* from d_person p where p.id=:pid1 or p.id=:pid2';

  my_task_name :=DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_text    => my_sqltext
                                                ,bind_list   => sql_binds(anydata.ConvertNumber(123),
                                                                          anydata.ConvertNumber(234))  
                                                ,user_name   => 'DEV'
                                                ,task_name   => 'my_sql_tt'
                                                ,description => 'Example of using create tuning task');
                                              
DBMS_SQLTUNE.execute_tuning_task('my_sql_tt');                                                                                    
END;

select
      dbms_sqltune.report_tuning_task('my_sql_tt')
  from
      dual
         
BEGIN
     dbms_sqltune.drop_tuning_task('my_sql_tt'); 
 END;