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
