buffer busy wait 이벤트나 read by other session 이벤트의 글로벌 버전
같은 인스턴스의 다른 프로세스가 해당 블록을 변경 중일 때는 변경이 완료될 때까지 buffer busy wait 이벤트를 대기.
같은 인스턴스의 다른 프로세스가 해당 블록을 디스크에서 읽어 들이는 중일때는 I/O 작업이 완료될 때까지 read by other session 이벤트를 대기. I/O 작업을 수행하는 프로세스는 db file sequential read 이벤트나 db file scattered read 이벤트를 대기
같은 인스턴스의 다른 프로세스가 해당 블록을 다른 인스턴스로부터 전송 받고 있는 중이라면 전송이 끝날 때까지 gc buffer busy 이벤트 대기.
다른 인스턴스의 요청에 의해 해당 블록이 전송 중이라면, 전송이 끝나고 사용이 완료될 때까지 gc buffer busy 이벤트를 대기.
근본적인 발생 원인은 buffer busy wait 이벤트와 동일하며 해결책도 동일.
핫 블록이 가장 일반적인 원인. 핫 블록을 분산시킴으로 문제 해결. 세그먼트 레벨의 파티셔닝, 우편향 인덱스 현상 해소, 시퀀스 캐시 크기의 증가, PCTFREE 증가등.
FLM을 사용하는 경우에는 세그먼트 헤더 블록이 버퍼 경합의 원인이 되므로 FREELIST GROUPS 속성을 노드 수와 동일하게 설정.
SQL 튜닝을 통해 불필요하게 많은 블록이 교환되는 것을 방지.
동일한 세그먼트에 대한 대량의 DML 작업이 여러 노드에서 동시 다발적으로 발생하면 어플리케이션 실행을 적절히 분배.