대기 이벤트 파라미터
오라클 21c 공식 매뉴얼(Oracle Database Reference)에는 gc current block busy를 포함한 아래 대기 이벤트의 P1, P2, P3 파라미터에 대해 다음과 같이 설명하고 있다.
- gc current block 2-way
- gc current block 3-way
- gc current block busy
- gc current block congested
- gc current block lost
- gc current request
Parameter | Description |
file# | See "file#" |
block# | See "block#" |
id# | Block class and global access mode held and requested |
file#과 block#에 대해서는 자세히 설명하고 있지만, 아쉽게도 id#을 통해 정확한 block class를 구하는 방법은 없다. 다른 블로거의 글(https://argolee.tistory.com/59)에 의하면 P3(id#) 파라미터의 마지막 2 bytes가 바로 block class를 나타낸다고 한다.
아래는 ASH(Active Session History) 정보 중 gc current block busy 대기 이벤트가 발생했을 때, 파라미터 P3를 이용해 block class를 조회하는 샘플이다.
SELECT INST_ID, SESSION_ID, SESSION_SERIAL#,
EVENT, P1, P2, P3,
TO_NUMBER(SUBSTR(TO_CHAR(P3, 'XXXXXXXXXX'),-2, 2), 'XXXX') AS BLOCK_CLASS
FROM GV$ACTIVE_SESSION_HISTORY
WHERE SAMPLE_TIME > SYSDATE - 1/24 -- 최근 1시간
AND EVENT = 'gc current block busy'
ORDER BY SAMPLE_ID DESC;
Block Class
Class | Name |
1 | data block |
2 | sort block |
3 | save undo block |
4 | segment header |
5 | save undo header |
6 | free list |
7 | extent map |
8 | 1st level bmb |
9 | 2nd level bmb |
10 | 3rd level bmb |
11 | bitmap block |
12 | bitmap index block |
13 | file header block |
14 | unused |
15 | system undo header |
16 | system undo block |
17 | undo header |
18 | undo block |
Block Class 값이 17 이상인 경우는 undo 블록이다.
'Oracle' 카테고리의 다른 글
[오라클] 옵티마이저와 자동차 자율주행의 닮은 점 (0) | 2023.07.06 |
---|---|
Oracle SQL*Plus 데이터 다운로드 텍스트 파일 저장하기 (0) | 2023.02.18 |
Oracle 23c New Features Preview #1 (0) | 2022.11.08 |
[오라클] Oracle DBMS_METADATA 패키지를 이용해 DB Link DDL 추출하기 (0) | 2022.11.07 |