學習動態性能表第18篇--V$SYSTEM_EVENT

  本視圖概括了實例各項事件的等待信息。v$session_wait顯示了系統的當前等待項,v$system_event則提供了自實例啟動后各個等待事件的概括。常用于獲取系統等待信息的歷史影象。而通過兩個snapshot獲取等待項增量,則可以確定這段時間內系統的等待項。

V$SYSTEM_EVENT中的常用列
EVENT:等待事件名稱
TOTAL_WAITS:此項事件總等待次數
TIME_WAITED:此項事件的總等待時間(單位:百分之一秒)
AVERAGE_WAIT:此項事件的平均等待用時(單位:百分之一秒)(time_waited/total_waits)
TOTAL_TIMEOUTS:此項事情總等待超時次數

示例:
1.查看系統的各項等待,按總耗時排序
SELECT event,total_waits waits,total_timeouts timeouts,
time_waited total_time,average_wait avg
FROM V$SYSTEM_EVENT
ORDER BY 4 DESC;

比如,通過checkpoint completed、log file switch(checkpoint incomplete)可以查看檢查點進程的性能。通過log file parallel write、log file switch completed可以查看聯機重做日志文件的性能。通過log file switch(archiving needed)事件可以檢查歸檔進程的性能。

找出瓶頸:
1。通過Statspack列出空閑事件。
2。檢查不同事件的等待時間開銷。
3。檢查每條等待記錄的平均用時,因為某些等待事件(比較log file switch completion)可能周期性地發生,但發生時卻造成了嚴重的性能損耗。