행위

Gc wait event

DB CAFE

Dbcafe (토론 | 기여)님의 2022년 10월 12일 (수) 19:04 판
thumb_up 추천메뉴 바로가기


gc cr/current grant 2-way프리 블록에 대한 권한을 부여 받는 경우 오라클 10g에서는 gc current grant 2-way 이벤트를 대기한 것으로 관찰되지만, 오라클 9i에서 global cache open x 이벤트를 대기한 것으로 관찰됩니다.

gc cr/current grant 2-way 이벤트는 gc cr/current request 이벤트에 대한 Fixed-up 이벤트로, 블록을 요청한 프로세스가 마스터 노드로부터 블록을 읽을 권한을 부여 받았음을(Grant) 의미합니다. gc cr/current request 이벤트가 gc cr/current grant 2-way 이벤트로 바뀌는(Fixed-up되는) 흐름은 다음과 같습니다. - 요청 노드의 유저 프로세스가 특정 데이터 블록을 읽고자 한다. - 유저 프로세스는 해당 데이터 블록의 적절한 버전이 로컬 버퍼 캐시에 없는 것을 확인하고, 마스터 노드의 LMS(Lock Monitoring Services) 프로세스에 블록 전송을 요청한다. 유저 프로세스는 응답을 받을 때까지 gc cr/current request 이벤트를 대기한다. - 마스터 노드의 LMS 프로세스는 GRD를 참조하여, 클러스터의 어떤 노드도 해당 블록 이미지를 로컬 캐시에 가지고 있지 않다는 것을 확인하고, 요청 노드에 블록을 직접 읽을 권한을 부여한다. - 유저 프로세스는 블록을 읽을 권한을 부여 받은 후, gc cr/current request 이벤트를 Fixed-up 이벤트인 gc cr/current grant 2-way 이벤트로 변경한다. 권한을 부여 받은 후에는 일반적으로 싱글 블록 I/O를 통해 해당 블록을 디스크에서 직접 읽어 들이며, db file sequential read 이벤트에 대한 대기가 뒤따른다. 만일 로컬 캐시에 BL 락을 업그레이드(S→X) 혹은 다운그레이드(X→S) 가능한 버전의 블록이 있다면 해당 블록에 대해 락 변환을 수행한 후 사용한다. 출처: https://12bme.tistory.com/337 [길은 가면, 뒤에 있다.:티스토리]

출처) https://12bme.tistory.com/337