소소한 일상에서 책읽기 중

Enq: RO - contention 본문

DB까다롭다

Enq: RO - contention

다솜여우 2011. 4. 20. 10:19

11g Exadata V2에서 테이블을 drop하면 "enq ro fast object reuse truncate" 의 대기시간이 상당히 길게 나타난다.

구글을 검색해보니 이 이벤트로 인해 문제 발생이 많이 된 듯 하다.

하지만 패치적용하면 괜찮다고 하는데...

현재 여기 시스템은 패치적용을 잘 하고 있는데도 불구하고, 저 이벤트의 대기 시간이 길게 나타나는걸 보니 패치가 답은 아닌 것 같다.

이 이벤트가 무엇인지 찾아보니, 엑셈위키에 간단하게 설명이 나와 있다.

이벤트에 대한 설명은 아래부터....

=================================================================================================================================
Truncate와 관련해서 자주 관찰되는 대기현상이 한가지 더 있는데 바로 enq: RO - fast object reuse 이벤트나 enq: RO - contention 대기현상이다. Truncate나 Drop과 같이 객체가 사용하는 공간(세그먼트)을 삭제하는 작업은 CKPT 프로세스와 DBWR 프로세스에 의해 실제로 삭제가 이루어질 때까지 기다리게 되는데 그 동안 enq: RO - fast object reuse 이벤트나 enq: RO - contention 이벤트를 대기하게 된다. RO 락은 오라클 10g 부터 객체 삭제 시 객체 정보를 삭제 후 재사용하는 작업을 동기화하는데 주로 사용되는 것으로 보이며, 불행히도 구체적이고 공식적으로 설명된 문서를 구하기가 어렵다. RO 락은 기본적으로 경합에 의한 성능저하 현상이 생길 소지는 없지만, 버그에 의한 성능 저하현상이 보고되고 있으므로 필요한 경우 메타링크 등을 통해서 자세한 정보를 찾아보아야 한다.


Wait Parameters
  • P1 : Enqueue 정보
  • P2 : 2
  • P3 : 0

Wait Time
enqueue 대기이벤트와 동일하다. 최대 3초까지 기다린다. 만일 RO 락을 획득하기 못하면 획득할 때까지 대기한다.
=================================================================================================================================

출처 : 엑셈위키