武器二:长生剑 — 等待事件
剑,轻灵、快速、灵敏,甚至于诡异。谈笑间,轻松快意时寻出敌人弱点,以闪电般的速度刺入敌人最虚弱的部位,一击破敌。
性能优化的核心是什么,快速准确的定位,不需要华丽的显示,不需要冗长的信息,需要的仅仅是一个准确的定位,等待事件就是此中利器。
竞争即等待,关注等待事件:v$system_event / v$session_event / v$session_wait 有助于我们发现系统的性能瓶颈。比如:
从v$system_event中,我们能发现系统问题;从v$session_event中发现会话问题; 从v$session_wait的参数中可以找到竞争对象。
熟悉各种主要的等待事件,快速定位问题所在 ,如图
常用等待事件:
• buffer busy waits(数据高速缓存忙等待)
• db file scattered read(数据文件离散读取)
• db file sequential read(数据文件顺序读)
• direct path read(直接路径读取)
• direct path write(直接路径写出)
• enqueue(队列)
• free buffer waits(空闲缓冲区等待)
• latch free(锁存器空闲)
• log buffer space(日志缓冲区空间分配)
• log file switch(archiving needed)
• log file switch(checkpoint incomplete)
• log file sync(日志文件同步)