oracle中查看sql执行状况,比如执行计划,执行时间等,可以用于sql执行性能监控(当发生sql执行性能降级,可分析执行计划是否变动,执行计划变动可通过计划基线进行固定)
select ss.instance_number node,
begin_interval_time,
sql_id,
plan_hash_value,
nvl(executions_delta, 0) exe_num, --执行次数
trunc(elapsed_time_delta/1000000) exe_time,--执行时间
trunc((elapsed_time_delta/decode(nvl(executions_delta, 0), 0, 1, executions_delta))/1000000) avg_exe_time,--平均执行时间
buffer_gets_delta lg_read,--逻辑读
trunc((buffer_gets_delta/decode(nvl(buffer_gets_delta, 0), 0, 1, executions_delta))) avg_lg_read --平均逻辑读
from DBA_HIST_SQLSTAT S, DBA_HIST_SNAPSHOT SS
where sql_id ='&sqlid'
and ss.snap_id = S.snap_id
and ss.instance_number = S.instance_number
and executions_delta > 0
order by NODE,BEGIN_INTERVAL_TIME desc