是否可以配置Oracle,使AWR报告包含更多按时间排列的十大SQL查询,并包括这些查询的解释计划?
发布于 2016-10-23 02:44:17
可以使用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;
/您可以从AWR报告中获取SQL_ID,并得到它们的执行计划,如下所示:
SQL>select plan_table_output from table (dbms_xplan.display_awr('&SQLID'));
另一种方法是使用Oracle提供的名为awrsqrpt.sql的脚本,它可以在$ORACLE_HOME/rdbms/admin目录下找到。在脚本的执行过程中,它会请求要获得执行计划的SQL_ID。
参考文献:
https://dba.stackexchange.com/questions/153097
复制相似问题