1. TIBERO DUMP 개요
Tibero DB 운영 시 Hang 현상이나 Slow Performance 문제가 발생하는 경우, Dictionary Table들을 조회하여 문제분석을 위한 자료들을 수집해야 한다. DUMP는 계속 운영상태를 유지하기 어렵거나, Dictionary Table 조회 조차 불가능 하게 될 경우 분석할 수 있는 내용을 제공한다. 본 내용은 Dump의 종류 및 사용방법을 가이드하며, Dump로 생성된 File 내용에 대해서는 명시하지 않는다. Dump내용은 TIBERO에서 문제의 원인을 파악하는 자료로 쓰이며, 운영 중 Dump 수행을 해야 할 경우 TIBERO에 문의하여 상황에 적합하고 시스템에 영향도에 대해서 문의 후 사용하는 것을 권장한다.
2. DUMP 사용법
2.1. DUMP 명령어
모든 Dump 명령어는 해당 Thread를 일시적으로 Pending 시킨 후 Dump를 수행함으로 사용에 주의해야 한다. 간혹 Dump signal 후 return을 못 받아 전체 system hang 현상이 생길 수 있으므로 반드시 상황에 맞는 DUMP 명령을 수행하도록 한다.
구 문
ALTER SYSTEM DUMP <Dump 종류> ;
예시
alter system dump callstack on error -15115 on;
BEGIN
-- 장애발생 프로시저
ESS.SP_SISBAT_RT6001_TTTT;
END;
alter system dump callstack on error -15115 off;
DUMP 파일 위치
- 일반 dump : $TB_HOME/instance/$TB_SID/dump/tracedump/
- SQL memlog : $TB_HOME/instance/$TB_SID/log/memlog/
2.2. DUMP 종류
- Dump 종류는 alter system dump list ; 구문을 적용하면 파일로 확인할 수 있다.
- 다음은 Dump 종류를 분류하여 간결하게 설명한 내용이다.
분류 | Dump 종류 | 설명 |
파일 덤프 | CONTROLFILE | 각각의 파일들이 깨졌거나 경로 이상이 의심될 때 어느 부분이 문제인지 알아보기 위해 dump 를 내려 분석 |
LOGFILE_HEADER | ||
DATAFILE_HEADER | ||
DATAFILE | ||
LOGFILE | ||
UNDO_HEADER | ||
LOGBLK | ||
메모리 상황 | SHARED POOL | 메모리 부족 혹은 누수(leak) 또는 깨진 것이 의심될 때 사용하 고 있는 메모리 관렦 각 Dump를 통해 분석할 수 있음 |
SYSTEMALLOC | ||
SHM | ||
SO | ||
CSR_POOL | ||
디버깅 정보 | MEMLOG | 로그레벨(LOG_LVL) 설정이 낮을 경우, 자세한 tracelog를 얻고 싶을 때 사용 |
CALLSTACK | 특정 thread 가 무한 루프를 돌거나 멈춰 있을 때 문제가 되는 call 위치 확인 시 사용 | |
THREAD | 각 WTHR 별 각종 정보를 확인하고자 할 때 사용 | |
STAT | 각종 통계 정보를 확인하고자 할 때 사용 | |
Lock 관련 | WLOCK | hang이 걸린 경우 어떤 thread가 어떤 lock을 잡고, 어 떤 lock을 기다리고 있는지 분석할 때 사용 |
CWS_RSB | ||
CCC_RSB | ||
Space Management |
TABLESPACE | Tablespace 별 공간할당에 문제가 있거나, UNDO 사용 패턴에 문제가 있을 때 상황 파악을 위해 사용 |
EXTENTS | ||
UEXTMAP | ||
ULINK | ||
UCACHE | ||
DATA | INDEX | Index tree dump. 각 level 별로 dba, rowcnt 등 출력 Index나 Table이 깨졌거나 Key가 누락되는 등 데이터 정합성에 의심이 갈 경우 데이터를 DB block 단위로 직접 dump 해서 살펴본다 << DUMP 형식 >> INDEX (<schema>)<name> |
ROWS | table의 총 row개수 출력 Index나 Table이 깨졌거나 Key가 누락되는 등 데이터 정합성에 의심이 갈 경우 데이터를 DB block 단위로 직접 dump 해서 살펴본다 << DUMP 형식 >> INDEX (<schema>)<name> |
|
Buffer Cache | LRU | 버퍼캐시 이상이 의심될 때 버퍼캐시 내부 구조에 대한 내부 디버깅 시 사용 |
POOL | ||
FDPOOL | ||
PIN | ||
BUCKET | ||
기타 | LIST | DUMP List 를 파일로 제공 |
DEST | 수행한 DUMP 에 대한 경로를 표시 |
2.3. DUMP 명령어 예제
다음은 각각의 dump 종류에 따른 dump 사용예제이다. Dump 명령어를 사용하여 파일로 생성된 것까지 확인할 수 있다.
3. DUMP 사용 시나리오 다음 예제는 각 다른 세션에서 동일 테이블에 대하여 update 수행시 session 2 는 session 1 이 commit 하기를 기 다리면서 hang 상황이 연출된다.
'DB > Tibero' 카테고리의 다른 글
[Tibero] HA구조, TSC구조, TAC구조 (0) | 2023.08.09 |
---|---|
[Tibero] 티베로 Troubleshooting 가이드 (0) | 2023.08.02 |
[Tibero] 티베로 라이선스 정책 (0) | 2023.07.26 |
[Tibero] Tibero 패치 (0) | 2023.07.26 |
[Tibero] UNDO Data 관리 (0) | 2023.07.26 |