AWR报告提供了前10-20个SQL语句的SQL信息。是否有可能获得关于SQL语句的信息,而这些语句没有被列在最上面?如何在oracle中找到所有sql id、sql文本、执行次数、两个AWR快照id之间的执行时间?
发布于 2014-02-12 22:53:43
这将在2个snap之间获取这些字段,只需替换where子句中的snap
select t.sql_id,
t.sql_text,
s.executions_total,
s.elapsed_time_total
from DBA_HIST_SQLSTAT s, DBA_HIST_SQLTEXT t
where s.snap_id between 1000 and 2000;发布于 2014-02-12 08:20:24
您可以从以下视图中进行选择。
DBA_HIST_SQLSTATDBA_HIST_SQLTEXTDBA_HIST_SNAPSHOT发布于 2021-07-01 09:54:56
SELECT T.SQL_ID,
MIN (SN.BEGIN_INTERVAL_TIME) BEGIN_INTERVAL_TIME,
MAX (SN.END_INTERVAL_TIME) END_INTERVAL_TIME,
MAX (CAST (DBMS_LOB.SUBSTR (T.SQL_TEXT, 2000) AS NVARCHAR2 (2000))) SQL_TEXT,
SUM (S.EXECUTIONS_DELTA) EXECUTIONS,
SUM (S.ELAPSED_TIME_DELTA) ELAPSED_TIME
FROM DBA_HIST_SQLSTAT S, DBA_HIST_SQLTEXT T, DBA_HIST_SNAPSHOT SN
WHERE T.SQL_ID = S.SQL_ID
AND S.SNAP_ID = SN.SNAP_ID
AND SN.BEGIN_INTERVAL_TIME >= SYSDATE - 1
AND SN.END_INTERVAL_TIME <= SYSDATE
GROUP BY T.SQL_ID
ORDER BY ELAPSED_TIME DESChttps://dba.stackexchange.com/questions/58718
复制相似问题