gc buffer busy 대기이벤트의 Parameter P3의 의미
Advanced Oracle 2009/02/23 17:19
gc buffer busy와 gc current request 이벤트의 P1, P2, P3 값의 의미를 조회해 보자.
UKJA@ukja102> begin
2 print_table('select name, parameter1, parameter2, parameter3
3 from v$event_name
4 where name in (''gc buffer busy'', ''gc current request'')');
5 end;
6 /
NAME : gc buffer busy
PARAMETER1 : file#
PARAMETER2 : block#
PARAMETER3 : id#
-----------------
NAME : gc current request
PARAMETER1 : file#
PARAMETER2 : block#
PARAMETER3 : id#
-----------------
Parameter1과 Parameter2의 의미는 명확하다. Parameter3(id#)의 의미는 무엇일까? 이것이 오랜 의문 중 하나였는데, 최근에 그 의미의 일부를 알게 되었다. Tanel Poder가 OTN Forum에 올린 답변을 통해서이다.
2 print_table('select name, parameter1, parameter2, parameter3
4 where name in (''gc cr request'')');
gc current request file#= 717 block#= 2 id#= 33554445
gc buffer busy file#= 1058 block#= 2 id#= 65549
다음과 같이 하위 2 Byte의 값을 구할 수 있다(16진수로 변환했을 때 하위 2자리).
2 v1 as (select to_hex(33554445) as h from dual),
3 v2 as (select to_hex(65549) as h from dual)
5 to_dec(substr(v1.h, length(v1.h)-1, 2)) as v1,
6 to_dec(substr(v2.h, length(v2.h)-1, 2)) as v2
UKJA@ukja102> select rownum, class from v$waitstat;
13 file header block <-- Here!
원본 위치 <http://ukja.tistory.com/tag/gc%20current%20request>
댓글 없음:
댓글 쓰기