개요
tbiv를 활용한 ilog 추출 방법과 ilog 관련 주요 파라미터에 대해 안내 합니다.
ilog
ilog는 Internal Log의 줄임말로 스레드별로 설정된 이벤트에 대한 시스템 로그를 기록하는 파일입니다.
slog 보다 더 상세한 내용을 볼 수 있습니다.
ilog의 내용은 바이너리 형태로 내용이 저장되어 있으며, ilog 로그를 보려면 tbiv를 이용해야 합니다.
tbiv
tbiv는 바이너리 형태인 ilog 파일을 사용자가 내용을 확인할 수 있도록 변환해주는 유틸리티입니다.
방법
tbiv 옵션
옵션 | 설명 |
-x | ilog 포맷을 ilog_fmtmap.bin 파일로 추출
해당 파일이 있어야 다른 서버에서 볼 수 있음 |
-o | 출력 파일 지정 (기본값 : stdout) |
-l | 지정된 사이즈로(Mb) 출력 파일 분할 |
-T | 시간 출력 안함 |
-k | display system tick |
-s | display sequence number |
-i | ilog 파일 정보 확인 |
-r | 지정된 구간만 아웃파일에 남김
(YYYYMMDDHH24MISS ~ YYYYMMDDHH24MISS) |
사용 예시
1.
sys로그 확인하여 thread(session id)를 찾습니다.
[2025-05-07T13:24:18.215148] [DDL-89] [I] Executing DDL: create table t (c number)
[2025-05-07T13:24:18.231006] [DDL-89] [I] DDL execution succeeded
[2025-05-07T13:24:34.358752] [FRM-89] [I] THROW. ec=ERROR_NUMBER_INVALID_NUMBER(-5074) [ Given string does not represent a number in proper format. ]
[2025-05-07T14:24:04.215148] [DDL-89] [I] Executing DDL: create table s (c number)
[2025-05-07T14:24:04.231006] [DDL-89] [I] DDL execution succeeded
[2025-05-07T14:24:12.358752] [FRM-89] [I] THROW. ec=ERROR_NUMBER_INVALID_NUMBER(-5074) [ Given string does not represent a number in proper format. ]
SQL
복사
2. ilog경로에서 thread id 에 해당하는 ilog를 tbiv로 추출합니다.
[tibero@ENT-ROCKY8 ilog]$ ls -alrt |grep 89
-rw-r--r--. 1 tibero tibero 65536 Apr 24 07:21 tibero-189.ilg
-rw-r--r--. 1 tibero tibero 8781824 May 7 14:27 tibero-89.ilg
89번 ilg에 대한 tbiv 수행
[tibero@ENT-ROCKY8 ilog]$ tbiv -o test.txt tibero-89.ilg - o 옵션만 사용
Tibero Internal Log Viewer (7 r292332, little-endian)
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Completed.
[tibero@ENT-ROCKY8 ilog]$ tbiv -o test2.txt -r 20250507140000 20250507143000 tibero-89.ilg -r 옵션 사용하여 특정 시간 지정
Tibero Internal Log Viewer (7 r292332, little-endian)
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Completed.
SQL
복사
3.
tbiv 추출 파일을 확인합니다.
[test.txt]
05/07 13:24:18.2 0-0089 ddl_fram:230 Executing DDL: create table t (c number)
05/07 13:24:18.2 0-0089 tx_sgmt.:2601 sgmt create: ts=0 sgmt=4460 type=1 extsz=16 blksz=8192
05/07 13:24:18.2 0-0089 tx_sgmt.:2088 sgmt creation completed. ts=0 sgmt=4460 type=1 extsz=16, extdba=00_00013815
05/07 13:24:18.2 0-0089 ddl_tabl:506 create dsgmt(tbl) obj_id:4460 sgmt_id:4460
05/07 13:24:18.2 0-0089 ddl_fram:269 DDL execution succeeded
05/07 13:24:34.2 0-0089 tbsvr_er:181 THROW. ec=ERROR_NUMBER_INVALID_NUMBER(-5074) [ Given string does not represent a number in proper format. ] (sql_id:fn8wyr324hzaq, sub_sql_id:fn8wyr324hzaq, user:SYS, ap_module:(null), program:tbsql, host:ENT-ROCKY8) [number.c:963:number_from_str_ctx]
[test2.txt]
지정한 시간대인 2025/05/07 14:00 ~ 2025/05/07 14:30 로그만 출력됨.
05/07 14:27:04.3 0-0089 ddl_fram:230 Executing DDL: create table s (c number)
05/07 14:27:04.3 0-0089 tx_sgmt.:2601 sgmt create: ts=0 sgmt=4461 type=1 extsz=16 blksz=8192
05/07 14:27:04.3 0-0089 tx_sgmt.:2088 sgmt creation completed. ts=0 sgmt=4461 type=1 extsz=16, extdba=00_00013831
05/07 14:27:04.3 0-0089 ddl_tabl:506 create dsgmt(tbl) obj_id:4461 sgmt_id:4461
05/07 14:27:04.4 0-0089 ddl_fram:269 DDL execution succeeded
05/07 14:27:12.5 0-0089 tbsvr_er:181 THROW. ec=ERROR_NUMBER_INVALID_NUMBER(-5074) [ Given string does not represent a number in proper format. ] (sql_id:730p0jh9bh6u2, sub_sql_id:730p0jh9bh6u2, user:SYS, ap_module:(null), program:tbsql, host:ENT-ROCKY8) [number.c:963:number_from_str_ctx]
SQL
복사
ilog 파라미터
파라미터 | 설명 | Default Value (7.2.3 기준) |
ILOG_BACKUP_SIZE_LIMIT | backup된 ilog의 총사이즈 제한 | (MAX_SESSION_COUNT + 150) * (ILOG_FILE_SIZE) |
ILOG_DEST | ilog 생성 경로 | $TB_HOME/instance/$TB_SID/ilog |
ILOG_FILE_BACKUP_ON_BOOT | 기동시 ilog backup을 만들고 기존 파일을 백업할지 여부 | YES |
ILOG_FILE_SIZE | ilog 하나당 사이즈 제한
해당 사이즈 이상 쌓이면 이름 변경 후 다른 파일 생성 | 10MB |
ILOG_KEEP_BACKUP_ASIDE | ilog backup 사이즈를 별도로 관리할지 여부
Y 설정 시 ILOG_TOTAL_SIZE_LIMIT와 별개로 관리 | NO |
ILOG_TOTAL_SIZE_LIMIT | ilog 파일 + ilog backup 합계 총 사이즈 | ((MAX_SESSION_COUNT + 150) * (ILOG_FILE_SIZE) * 2) |
USE_ILOG | ilog 사용 여부 | YES |