您可以使用DBA_HIST_SQL_PLAN视图来获取 SQL 语句的执行计划。为了在您的报告中包含更多 SQL,您必须更改 AWR 设置,如下所示。
BEGIN
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHORT_SETTINGS(
RETENTION => 7200,
INTERVAL =>60 ,
TOPNSQL =>10 , --Here you can define the number of SQL to collect at each AWR snapsho
DBID => 123661118);
END;
/
您可以SQL_ID从 AWR 报告中获取它们的执行计划,如下所示:
SQL>select plan_table_output from table (dbms_xplan.display_awr('&SQLID'));
您可以使用
DBA_HIST_SQL_PLAN
视图来获取 SQL 语句的执行计划。为了在您的报告中包含更多 SQL,您必须更改 AWR 设置,如下所示。您可以
SQL_ID
从 AWR 报告中获取它们的执行计划,如下所示:SQL>select plan_table_output from table (dbms_xplan.display_awr('&SQLID'));
另一种方法是使用 Oracle 提供的脚本
awrsqrpt.sql
,该脚本可以在$ORACLE_HOME/rdbms/admin
目录下找到。在脚本执行期间,它会询问您要获取其执行计划的 SQL_ID。参考: