oracle11g EM上实施sql概要文件出错
sqlplus执行同样报错
SQL> exec dbms_sqltune.accept_sql_profile(task_name => 'SQL_TUNING_1564451095710', task_owner => 'SYS', replace => TRUE);
BEGIN dbms_sqltune.accept_sql_profile(task_name => 'SQL_TUNING_1564451095710', task_owner => 'SYS', replace => TRUE); END;
*
ERROR at line 1:
ORA-13786: missing SQL text of statement object "1" for tuning task
"SQL_TUNING_1564451095710"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.DBMS_SQLTUNE_INTERNAL", line 16442
ORA-06512: at "SYS.PRVT_SQLPROF_INFRA", line 31
ORA-06512: at "SYS.DBMS_SQLTUNE", line 7544
ORA-06512: at "SYS.DBMS_SQLTUNE", line 7568
ORA-06512: at line 1
查资料可能是oracle的概要文件新执行计划中有并行执行时的一个bug(bug 10313110 in OEM),需要加上参数profile_type => DBMS_SQLTUNE.PX_PROFILE,再执行显示成功:
SQL> exec dbms_sqltune.accept_sql_profile(task_name => 'SQL_TUNING_1564451095710', task_owner => 'SYS', replace => TRUE,profile_type => DBMS_SQLTUNE.PX_PROFILE);
PL/SQL procedure successfully completed.
参考资料https://rene-ace.com/applying-a-sql-profile-and-the-ora-13786-error/