[Oracle]常见的等待事件(三)

2014-11-24 15:05:19 · 作者: · 浏览: 2
很长,表示 数据库中存在热块。
log file sync —— 日志文件同步等待
当发出一个commit命令时,LGWR进程会将相应的redo log从log buffer写到磁盘上,此时就会产生该事件。
如果存在大量该事件,则应检查存在用户在频繁的提交,多出现在OLTP 系统中。
log buffer space —— 日志缓冲区空间等待
如果log buffer无空闲空间可用,则会出现该等待事件。
一般情况下,该等待事件出现的可能性很少,除非log buffer过小或I/O太差。
log file sequential read —— 日志文件顺序读等待
当对日志文件进行读时(如日志归档),会出现该等待事件。
log file switch —— 日志切换等待
该事件又分为两种类型:
1)checkpoint incomplete
日志切换时,如果下一个日志对应的某些脏数据库还未被写到磁盘上,则必须等待checkpoint完成,减少该等待事件的方法有:增大日志文件大小、增加日志文件组或提高DBWR的性能。
2)archiving needed
如果数据库处于归档模式,当日志切换时,如果下一个日志还为被归档,则必须等到该日志被归档后,才能完成切换。产生这种等待事件的原因一般都是arch进程死掉或太慢。
enqueue —— 锁等待
enqueue可以等同于锁,如果出现长时间的该等待,说明数据库中出现阻塞和锁。
和latch争用相关的等待事件
*library cache
*library cache pin
*library cache pin allocation
*library cache load lock
和library cache相关的等待事件可以断定是共享池出现的问题,基本上是由不良SQL语句导致,如没有使用绑定变量等。