개요
- ALTIBASE HDB 5.5.1 이전 버전에서는 언두 테이블스페이스의 ALLOC 만 확인이 가능할 뿐 USED 를 확인할 수 없었습니다.
- ALTIBASE HDB 5.5.1 부터 추가된 V$DISK_UNDO_USAGE 를 이용하여 언두 테이블스페이스 실 사용량을 확인하는 방법을 소개합니다.
언두 테이블스페이스의 ALLOC 과 USED
- 언두 테이블스페이스는 세그먼트 단위로 이루어져 있으며 세그먼트는 익스텐트라는 더 작은 단위로 이루어져 있습니다.
- 디스크 테이블에 변경 트랜잭션 발생 시 익스텐트 단위로 할당받게 되며 익스텐트를 새롭게 할당 받을 때마다 언두 테이블스페이스 ALLOC 크기가 증가합니다.
- 트랜잭션이 종료되면 익스텐트는 재사용 가능한 상태가 됩니다.
- 하지만 세그먼트 내의 익스텐트 중 하나라도 사용 중이라면 재 사용 가능한 익스텐트가 있더라도 해당 세그먼트 내의 익스텐트는 모두 사용할 수 없는 상태가 됩니다. (UNSTEALABLE EXTENT)
- 변경 트랜잭션이 수행 중이어서 익스텐트를 사용하거나 UNSTEALABLE 익스텐트는 언두 테이블스페이스의 USED 로 계산됩니다.
버전
이 모니터링 쿼리는 아래 버전에서 사용할 수 있습니다.
- ALTIBASE HDB 5.5.1
- ALTIBASE HDB 6.1.1
- ALTIBASE HDB 6.3.1
언두 테이블스페이스 사용량
- 디스크 테이블에 변경 트랜잭션이 수행 중에는 ALLOC 과 USED 가 증가할 수 있습니다.
- 트랜잭션이 커밋된 경우 트랜잭션 수행 중에 증가한 USED 는 줄어듭니다.
트랜잭션이 롤백된 경우 트랜잭션 수행 중에 증가한 ALLOC 과 USED 는 줄어듭니다.
언두 테이블스페이스 사용량 조회 쿼리결과 예시
관련 버그
BUG-39985
버그 내용
- 재 사용 할 수 없는 언두 영역을 사용 가능한 공간으로 계산되는 문제를 개선함. (UNSTEALABLE_EXT_CNT 컬럼에 해당되는 익스텐트가 사용 가능한 익스텐트로 계산되는 문제)
- UNSTEALABLE_EXT_CNT 컬럼은 아래 V$DISK_UNDO_USAGE 성능 뷰 설명 참고
반영 버전
- ALTIBASE HDB 6.1.1.4.9
- ALTIBASE HDB 6.3.1.3.3
참고 - V$DISK_UNDO_USAGE 성능 뷰
컬럼 이름 | 데이터 타입 | 설명 |
---|---|---|
TX_EXT_CNT | BIGINT | 트랜잭션 상태 정보를 저장하는 세그먼트(Transaction Status Segment, TSS) 용 익스텐트 수. |
USED_EXT_CNT | BIGINT | 트랜잭션에 사용되고 있는 언두 세그먼트 내 익스텐트 수. |
UNSTEALABLE_EXT_CNT | BIGINT | 다른 언두 세그먼트에서 가져갈 수 없는 익스텐트 수. |
REUSABLE_EXT_CNT | BIGINT | 재사용 가능한 익스텐트 수 |
TOTAL_EXT_CNT | BIGINT | 언두 테이블 스페이스에서 할당 받은 총 익스텐트 수. |