출처: https://tmaxtibero.blog/12197/
[Tibero] 물리 설계 안내서 (7)
본 문서에서는 Tibero의 SQL Execution Work Area 크기 산정방법에 대해 설명합니다.
제8장 Shared Memory 크기 산정
8.1. 개요
Tibero Shared Memory는 부팅할 때 고정된 용도로 사용되는 Fixed 영역과 운영 중에 자동으로 할당되어 사용되는 Shard Pool 영역으로 나뉩니다.
[Fixed Memory]
DB가 부팅할 때 파라미터 값을 바탕으로 크기가 고정되는 영역입니다.
Buffer Cache(Database Buffer)
Log Buffer
그 외 항목 : 전역 변수를 위한 공간, 워킹 스레드 정보와 세션 정보를 관리하는 영역
[Shared Pool Memory]
운영 중에 동적으로 할당되어 사용되는 영역입니다.
DD Cache
PP Cache(Library Cache)
그 외 항목
8.2. 고려사항
다음은 Shared Memory 크기를 산정할 때 고려해야 할 사항입니다.
1) Shared Memory 크기를 운영 중에 동적으로 늘릴 수 없습니다.
2) Buffer Cache와 Shared Pool 사용 패턴을 분석하여 전체 Shared Memory 크기를 알맞게 정해야 합니다.
3) Buffer Cache
주요 Workload를 돌려본 후 APM 리포트의 Buffer Cache Hit율을 보고 판단합니다.
Hit율이 90 % 이하 : Buffer Cache 크기 늘려야 합니다.
4) Shared Pool Memory
Workload를 돌려본 후 v$sga의 ‘SHARED POOL MEMORY’ 항목의 사용률 보고 판단합니다.
Shared Pool 사용률이 너무 높으면 (Free 영역이 적은 경우) Shared Pool 크기를 늘려야 합니다.
세션당 최소 1M 이상의 Shared Pool 영역 확보가 필요합니다.
8.3. 용량 산정
Shared Memory 각 영역의 크기는 v$sga에서 확인할 수 있습니다.
SQL> select * from v$sga;
NAME TOTAL USED
---------------------------------------- ---------------- -----------------
SHARED MEMORY 1258291200 1258291200
FIXED MEMORY 1032962080 1032962080
SHARED POOL MEMORY 225312768 222298112
SHARED POOL ALLOCATORS (LC) 25165824 24048688
SHARED POOL ALLOCATORS (DD) 16777216 3620240
SHARED POOL ALLOCATORS (SLAB) 79691776 76092320
SHARED POOL ALLOCATORS (MISC) 100663296 98956536
SHARED POOL ALLOCATORS (Total) 222298112 02717784
Database Buffers 838860800 838860800
Redo Buffers 10485760 10485760
10 rows selected.
Shared Memory의 크기는 초기화 파라미터로 설정해서 조회할 수 있습니다.
[Shared Memory]
다음은 TOTAL_SHM_SIZE 파라미터를 설정해서 조회하는 예입니다.
SQL> show param total_shm_size
NAME TYPE VALUE
---------------------------- --------- --------------------------
TOTAL_SHM_SIZE INT64 1258291200
싱글 모드 : TOTAL_SHM_SIZE의 2/3
TAC 모드 : TOTAL_SHM_SIZE의 1/2
[Buffer Cach]
다음은 DB_CACHE_SIZE 파라미터를 설정해서 조회하는 예입니다.
SQL> show param db_cache_size
NAME TYPE VALUE
---------------------------- ----------- ----------------------------------------
DB_CACHE_SIZE UINT64 838860800
[Log Buffer]
다음은 LOG_BUFFER 파라미터를 설정해서 조회하는 예입니다. (LOG_BUFFER 파라미터의 기본값 :10MB)
SQL> show param log_buffer
NAME TYPE VALUE
----------------------------------- ----------- ----------------------------------------
FLASHBACK_LOG_BUFFER UINT32 0
LOG_BUFFER UINT32 10485760
[Shared Pool Memory]
전체 Shared Memory 크기에서 Fixed 영역을 뺀 나머지 영역입니다.
TOTAL_SHM_SIZE - [Fixed Memory]
싱글 모드
전체 shared pool 크기가 MIN_SHARED_POOL_SIZE보다 커야 합니다. (MIN_SHARED_POOL_SIZE 기본값: 1M * MAX_SESSION_COUNT)
TAC 모드
TAC를 위한 CCC와 CWS 공간이 충분히 확보되어야 합니다. CCC와 CWS를 위해 전체 Buffer Cache 크기의 25% 가량을 Shared Pool에서 사용합니다. CCC와 CWS를 위한 공간을 제외한 Shared Pool 영역이 _MIN_SHARED_POOL_SIZE 보다 커야 합니다.
[전체 Shared Pool 크기] = _MIN_SHARED_POOL_SIZE + [CCC 공간] + [CWS 공간] + [Free Shared Pool 크기]
PP Cache와 DD Cache 등을 위한 Free Shared Pool 크기는 CCC와 CWS 공간보다 커야 합니다.
[Free Shared Pool 크기] > ([전체 Shared Pool 크기] - _MIN_SHARED_POOL_SIZE) / 2
☞[Tibero] 물리 설계 안내서 (6)로 돌아가기
CategoriesAll, Tech Book
TagsTibero_설치
[Tibero] 물리 설계 안내서 (6)
Tibero7 제품소개서
티맥스티베로 뉴스레터
구독하기
최신 게시물
[Tibero] 전환 가이드 (4)
All
[Tibero] 전환 가이드 (4)
2025년 2월 14일
ZetaData7: 대용량 데이터 처리를 위한 DB 어플라이언스
All
ZetaData7: 대용량 데이터 처리를 위한 DB 어플라이언스
2025년 2월 14일
티맥스티베로, ‘티베로7’ 혁신장터 등록…공공부문 경쟁력 입증
All
티맥스티베로, ‘티베로7’ 혁신장터 등록…공공부문 경쟁력 입증
2025년 2월 13일
[OpenSQL] oracle_fdw vs postgres_fdw
Tech Book
[OpenSQL] oracle_fdw vs postgres_fdw
2025년 2월 13일
티맥스티베로, 마이크로소프트 애저 마켓플레이스에 ‘티베로7’ 등록
All
티맥스티베로, 마이크로소프트 애저 마켓플레이스에 ‘티베로7’ 등록
카테고리 없음
[Tibero] 물리 설계 안내서 (7)
728x90
728x90