dbms_xplan.display_cursor只能显示保留在cursor cache中的执行计划。而该函数显示保存在AWR中历史执行计划。
函数声明:
DBMS_XPLAN.DISPLAY_AWR(
sql_id IN VARCHAR2,
plan_hash_value IN NUMBER DEFAULT NULL,
db_id IN NUMBER DEFAULT NULL,
format IN VARCHAR2 DEFAULT TYPICAL);
用户需要select on DBA_HIST_SQL_PLAN,DBA_HIST_SQLTEXT,V$DATABASE的权限。请确保AWR已经运行。
例子
SELECT * FROM table(DBMS_XPLAN.DISPLAY_AWR('xxxx'));
SELECT * FROM table(DBMS_XPLAN.DISPLAY_AWR('xxxx', format=>'ALL'));