본문 바로가기

DB/Tibero

[Tibero] Tibero Dump 가이드

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