参考:http://warehouse.itpub.net/post/777/493962
http://blog.csdn.net/tianlesoftware/article/details/6549018
cursor: pin S wait on X实际上的含义就是当前session想要以S (share)模式获得某个cursor的mutex,但是此时正有一个session以X (exclusive)模式hold了这个mutex,这导致当前session无法获得想要的mutex,这时的session等待事件就表现为cursor: pin S wait on X
row cache lock实际上表明当前session想要获取一个数据字典cache对像的lock,但是没有获得。如果当前session是想通过share模式获得这个数据字典cache对像的lock时,那么数据库会通知LCK0进程以异步方式去获得这个锁,然后转交给要获到这个锁的session。如果当前session是想通过排它模式获得这个数据字典cache对像的lock时,那么当前session直接去获得这个lock,而不需要通过LCK0进程去中转。
librarycache load lock 代表的含义就是:当某个session想要加载某个数据库对像到library cache时,它首先需要获得该数据库对像的load lock。Load lock总是以排它模式获得的,因此同一时间不可能有两个或两个以上进程加载同一个数据库对像到library cache中。如果想要获得的某个对像的load lock处于busy状态,那么当前session就一直处于library cache load lock等待状,直到该对像的load lock可用为止。
Cache buffers chains latch: 当用户进程搜索SGA寻找database cache buffers时需要使用此latch。热块争用
Cache buffers LRU chain latch: 当用户进程要搜索buffer cache中包括所有 dirty blocks的LRU (least recently used)
链时使用该种latch。
Redo log buffer latch: 这种latch控制redo log buffer中每条redo entries的空间分配。
Row cache objects latch: 当用户进程访问缓存的数据字典数值时,将使用Row cache objects latch。常见于绑定变量问题