学习动态性能表第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)可能周期性地发生,但发生时却造成了严重的性能损耗。