버퍼 캐시(Buffer cache) 에서 특정 Block을 탐색하고자 하는 프로세스는 cache buffer chains 래치를 획득하여야 하는데 이 과정에서 경합이 발생될때 발생되는 래치 참고로 9i 이후부터는 읽기 전용으로 체인을 탐색할 경우 cache buffers chains 래치를 Shared 모드로 공유 할수 있다 발생되는 대표적인 이유
Working Set (LRU + LRUW) 을 탐색하거나 변경하려는 프로세스는 항상 해당 Working Set을 관리하는 cache buffers lru chain 래치를 획득해야함 이때 획득하는 과정에서 경합이 발생될 경우 latch: cache buffers lru chain 이벤트에 대기
다른 세션이 Buffer cache로 적재하고 있는 블록을 읽으려고 할 때 buffer busy waits 대기이벤트가 발생
다른 세션이 해당 블록의 변경을 완료하기를 대기 할 때 buffer busy waits 대기이벤트가 발생
오라클은 Row level lock을 제공한다. 하지만 하나의 블록엔 여러개의 row 들이 존재하는데 row level lock을 제공하기 위해서는 반드시 row가 들 포함되어있는 블록에 대해서 lock을 걸어 자신만이 블록을 변경하고 있다는 것을 보장받아야 한다. 이경우에 획득해야 하는 락을 buffer lock라 한다 buffer lock 역시 다른 lock과 마찬가지로 획득하지 못할경우 대기해야 한다 buffer lock mode