您好,登錄后才能下訂單哦!
最近在弄informix,oracle調優也好久沒碰了,今天朋友問我v$active_session_history的wait_time和time_waited 怎么看,只記得用過,一下也沒想起。連忙驗證了下
wait_time 這列,對于在采樣時,正在等待的事件,該列為0。對應session_state列。不為0的行是在進行CPU
time_waited這列,是這次等待的等待時間,如果該種類的等待的時間的超時時間大于1秒,那么如果等待了超過了1秒,本次采樣的time_waited為0,在最后一次采樣到該等待時,置上等待時間。單位百萬分之一秒。也就是說,time_waited為0的行也不用看,因為等待時候在后面會體現,其和最后的行是同一次等待。
下面是以前用過的一個SQL
SELECT EVENT,
COUNT(*) TOTAL_WAITS,
TRUNC(SUM(TIME_WAITED) / 1000000) SECONDS_IN_WAIT
FROM V$ACTIVE_SESSION_HISTORY
WHERE SESSION_STATE = 'WAITING'
AND TIME_WAITED > 0
AND SAMPLE_ID BETWEEN 1800000 AND 2000000
AND SESSION_ID = 144
AND SQL_ID = 'cgb71p2hy4zfj'
GROUP BY EVENT
其實v$active_session_history就是一個語句在運行中遇到的所有等待的統計,可以一定程度上代替10046來查看SQL遭遇的等待
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。