如何理解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(checkpointincomplete)可以查看检查点进程的性能。通过log file parallel write、log file switchcompleted可以查看联机重做日志文件的性能。通过log file switch(archivingneeded)事件可以检查归档进程的性能。
select sum(total_waits) waits,sum(total_timeouts) timeouts from v$system_event where event like ''enq%''
找出瓶颈:
1。通过Statspack列出空闲事件。
2。检查不同事件的等待时间开销。
3。检查每条等待记录的平均用时,因为某些等待事件(比较log file switchcompletion)可能周期性地发生,但发生时却造成了严重的性能损耗。
看完上述内容,你们掌握如何理解v$system_event的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/203853.html