Temp 테이블 스페이스 크기 산정

Tibero DBMS Temp 테이블 스페이스 크기 산정방법에 대해 설명합니다.

개요

Join이나 대량 Sort 처리가 많은 경우 Temp 테이블 스페이스에서의 I/O가 다발적으로 발생합니다. (CREATE INDEX / ANALYZE / SELECT DISTINCT / ORDER BY / GROUP BY / UNION / SORT-MERGE)

Temp 테이블 스페이스 크기 산정을 위해서는 SQL Execution Work Area와 Temp 테이블 스페이스 간의 관계 이해가 필수입니다.


고려 사항

아래는 Temp 테이블 스페이스의 크기를 산정할 때 고려할 사항입니다.

  • 시스템유형 : OLTP, DSS, DW, Batch Job

  • User Load

  • Transaction Volume

  • Data Size

  • Query & Statements 튜닝

  • Temp 테이블 스페이스 자체를 여러 개의 데이터 파일로 작성해서 분산 관리 또는 User별 다른 Temp테이블 스페이스 할당

  • Temp 테이블 스페이스 Group 설정


용량 산정

Temp 테이블 스페이스의 용량 사용 방법

구분

설명

EXTENT SIZE

SORT_AREA_SIZE*2 + Block Size (기본 1MB 권장)

SORT AREA의 최대 크기

SORT_AREA_SIZE → 6KB, 세션 → 1000이라면 Sort 영역의 최대 크기는 16MB가 된다.

(기본값: (MEMORY_TARGET - TOTAL_SHM_SIZE) * 0.3)

SORT SEGMENT

인스턴스 시작 후 첫 SQL이 Temp 테이블 스페이스를 이용하여 Sort Segment를 생성한다. DB가 shutdown되면 release된다.

  • V$SORT_SEGMENT : SORT_SEGMENT영역 할당 및 해제 확인한다.

  • V$SORT_USAGE : SORT_SEGMENT를 사용하고 있는 사용자를 확인 한다.

  • V$TEMPFILE, DBA_TEMP_FILES : Temp 테이블 스페이스에 할당된 tempfiles을 확인한다.

  • DBA_TEMP_FREE_SPACE

Temp 테이블 스페이스의 용량을 산정하기 위해서 MEMORY_TARGET 파라미터를 이용하고, Autoextending Temp Files을 설정할 것을 권장합니다.

Last updated