Undo 테이블 스페이스 크기 산정
Tibero Database Undo 테이블 스페이스 크기 산정 방법에 대해 설명합니다.
개요
데이터의 갱신이 많은 시스템인 경우 Undo 테이블 스페이스의 I/O가 많이 발생하므로 Undo 테이블 스페이스를 여러 개의 데이터 파일로 작성하여 데이터 파일을 분산시킵니다.
자동 관리 장점
설계 및 관리 용이(rollback,segment)
UNDO Data의 overwrite 방지
영역확장 용이
플래시백 쿼리 이용 가능
고려사항
다음은 Undo 테이블 스페이스 크기를 산정할 때 고려할 사항입니다.
데이터 파일 용량, UNDO_RETENTION, Undo Segment 수
자동 관리일 경우 Undo Segment의 개별 공간은 자동으로 관리되므로 전체 Undo Segment의 최소/최대개수와 데이터 파일 용량만 설정합니다.
최소 Undo Segment 개수(_USGMT_ONLINE_MIN)는 보통 10(default)으로 설정합니다. 단, 동시 수행 트랜잭션 수가 많은 경우 부하 중에 추가 Undo Segment를 생성하는 오버헤드가 있을 수 있다. 이경우예상되는동시수행트랜잭션수만큼최소 Undo Segment 개수를 설정해두면 Undo Segme 추가 생성 오버헤드를 줄일 수 있습니다.
최소 Undo Segment 설정 개수가 이미 만들어져 있는 Undo Segment 개수보다 많은 경우 부팅 과정에 서 Undo Segment를 추가로 생성합니다. TAC의 경우 각 노드별로 적용한다. 예를 들어 NODE1은 _USGMT_ONLINE_MIN=30, NODE2는 40 으 로설정하고부팅하면각각 30개와 40개의 Undo Segment가 생성되어있는것을확인할 수 있습니다.
용량 산정
Undo 테이블 스페이스를 생성하는데 필요한 최소 크기와 예상 동시 수행 트랜잭션수를 기준으로 한 예상 크기, 그리고 APM 정보를 이용한 실제 사용 크기로 나누어 생각해 볼 수 있습니다.
최초로 DB를 설치하는 경우 최소 크기 및 예상 크기 중 큰 값을 기준으로 Undo 테이블 스페이스 크기를 산정하고 이후 APM에서 최대 부하가 들어 올때 초당 소모하는 UNDO block 수를 기준으로 실제 크기와 산정한 크기가 맞는지 검증할 수 있습니다.
Undo 테이블 스페이스 산정 방법
최소 크기
(Undo 테이블 스페이스당 Undo Segment 최소 개수 * _USGMT_UNIFORM_EXTSIZE * 2
* Block size(8KB)) + 여유값
예상 크기
(Undo 테이블 스페이스당 Undo Segment 최대 개수 * _USGMT_UNIFORM_EXTSIZE * 2
* Block size(8KB)) + 여유값
실제 크기
(초당 UNDO Block 소모량 * UNDO retention * Block size(8KB)) + 여유값
산정 공식에 사용되는 항목
항목
설명
Undo 테이블 스페이스당 Undo Segment 최소 개수
Single/TAC 모두 경우 _USGMT_ONLINE_MIN 값이다.
Undo 테이블 스페이스당 Undo Segment 최대 개수
예상되는 최대 동시 수행 트랜잭션 수이다.
Single의 경우 : _USGMT_ONLINE_MAX 값
TAC의 경우 : _USGMT_ONLINE_MAX / 노드수
_USGMT_UNIFORM_EXTSIZE * 2
Undo Segment는 최소 2개의 UNDO extent가 필요하고
Undo extent 하나의 크기는_USGMT_UNIFORM_EXTSIZE이다.
초당 UNDO block 소모량
운영 중 최대 부하 당시의 APM 리포트에서 Undo Statistics의 Undo blocks값을 APM 구간(초)로 나눈 값이 다
UNDO_RETENTION
TIP 설정 값이다. (기본값: 900초)
여유값
KB 값이다. Long 트랜잭션이 비정기적으로 들어올 경우 (INDEX rebuild등도 포함)를 대비하여 충분한 크기를 잡 아 두는 것이 좋다.
Last updated