기술 정보
home
채널 소개
home

ILOG TAG를 활용한 바인드 변수 캡처 방법

문서 유형
기술 정보
분야
관리/환경설정
키워드
바인드변수
ilog
tbdv
적용 제품 버전
7FS02
7FS02PS

개요

Tibero에서 바인드 변수 값을 캡처하여 확인하기 위해 ILOG TAG 기능을 활성화하는 방법을 설명합니다.
주의
패치 FS06_128314a (Tibero 7 FS02 이상 기반영) 적용이 필요합니다.
티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.
바인드 변수를 확인하기 위해서는 아래 TAG를 활성화 해야합니다.
BODY_MSG_CSR_BIND_PARAM_INFO
BODY_SQL_PROCESS
CSR_USERPARAM_TO_STRNLOG_NULL
CSR_USERPARAM_TO_STRNLOG
CSR_USERPARAM_TO_STRNLOG_UNKNOWN

방법

1. Tibero 접속 후 TAG 리스트 활성화

TAG 활성화 : System 단위
LEVEL : Detail
$ tbsql sys/tibero ALTER SYSTEM ILOG ENABLE NAME 'BODY_MSG_CSR_BIND_PARAM_INFO' LEVEL DETAIL; ALTER SYSTEM ILOG ENABLE NAME 'BODY_SQL_PROCESS' LEVEL DETAIL; ALTER SYSTEM ILOG ENABLE NAME 'CSR_USERPARAM_TO_STRNLOG_NULL' LEVEL DETAIL; ALTER SYSTEM ILOG ENABLE NAME 'CSR_USERPARAM_TO_STRNLOG' LEVEL DETAIL; ALTER SYSTEM ILOG ENABLE NAME 'CSR_USERPARAM_TO_STRNLOG_UNKNOWN' LEVEL DETAIL;
SQL
복사

2. 바인드 변수 캡처 확인 (ILOG 모니터링)

테이블 생성 후 데이터를 삽입하고 커밋하는 예제입니다.
-- 테이블 생성 및 추가 $ tbsql tibero/tmax SQL> create table ttt(a) as select * from dual; Table 'TTT' created. SQL> insert into ttt values('T'); 1 row inserted. SQL> commit; Commit completed.
SQL
복사
tbiv를 통해 바인드 변수 캡쳐 확인 
$ tbiv tsc_tibero-92.ilg Tibero Internal Log Viewer (7 r283516, little-endian) TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. 03/10 11:18:38.4 0-0092 tbsvr_sq:277 SQL PROCESS: sql=SELECT OPEN_MODE FROM SYS.V$DATABASE, csr=2 03/10 11:18:38.5 0-0092 tbsvr_sq:277 SQL PROCESS: sql=SELECT /*+ no_outline / ACTION, POLICY FROM CLIENT_ACCESS_POLICY WHERE CLIENT = 'tbSQL' AND (USERID = 'PUBLIC' OR ? LIKE USERID), csr=3 03/10 11:18:38.5 0-0092 tbsvr_ms:955 BINDING[CSR_ID=3]: param #0, param_kind=IN, param_type=TB_TYPE_VARCHAR 03/10 11:18:38.5 0-0092 csr.c:3747 BINDING[CSR_ID=3]: param #0: param_val_len=6, param_val: [TIBERO] 03/10 11:18:39.4 0-0092 tbsvr_sq:277 SQL PROCESS: sql=SELECT /+ no_outline */ OBJECT_NAME _LS_OBJECT_NAME, SUBOBJECT_NAME _LS_SUBOBJECT_NAME, OBJECT_TYPE _LS_OBJECT_TYPE FROM ALL_OBJECTS WHERE OWNER = ? AND OBJECT_TYPE NOT IN ('LOB') AND OBJECT_NAME NOT LIKE '_TB_STAT_SNAP%%' ORDER BY OBJECT_TYPE, OBJECT_NAME, csr=4 03/10 11:18:39.4 0-0092 tbsvr_ms:955 BINDING[CSR_ID=4]: param #0, param_kind=IN, param_type=TB_TYPE_VARCHAR 03/10 11:18:39.4 0-0092 csr.c:3747 BINDING[CSR_ID=4]: param #0: param_val_len=6, param_val: [TIBERO] 03/10 11:18:44.4 0-0092 tbsvr_sq:277 SQL PROCESS: sql=create table ttt(a) as select * from dual, csr=5 03/10 11:18:44.4 0-0092 ddl_fram:228 Executing DDL: create table ttt(a) as select * from dual 03/10 11:18:44.4 0-0092 tx_sgmt.:2490 sgmt create: ts=3 sgmt=5083 type=1 extsz=16 blksz=8192 03/10 11:18:44.4 0-0092 tx_sgmt.:1980 sgmt creation completed. ts=3 sgmt=5083 type=1 extsz=16, extdba=02_00000215 03/10 11:18:44.4 0-0092 td_dp.c:447 init dp start: tsid=3, shdrdba=02_00000217, sgmt_id=5083, initrs=2, pctf=819, mexts=4294967295, aalloc=1, log=1, ifb=0, sup=0, dtf=0 pll=0 o_sync=0 03/10 11:18:44.4 0-0092 td_dp.c:495 init dp end: tsid=3, shdrdba=02_00000217, sgmt_id=5083, initrs=2, pctf=819, mexts=4294967295, aalloc=1, log=1, ifb=0, sup=0, dtf=0 pll=0 o_sync=0 03/10 11:18:44.4 0-0092 tc_fdpoo:654 fdelem alloc 00007f7dd18bf468 03/10 11:18:44.4 0-0092 ddl_fram:267 DDL execution succeeded 03/10 11:18:47.2 0-0092 tbsvr_sq:277 SQL PROCESS: sql=insert into ttt values('T'), csr=30 03/10 11:18:51.0 0-0092 tbsvr_sq:277 SQL PROCESS: sql=commit, csr=33
SQL
복사
실시간 확인 시 명령어
$ tbiv -f {파일명}.ilg
SQL
복사

3. ILOG TAG 비활성화

작업 완료 후, 활성화한 TAG를 비활성화합니다.
$ tbsql sys/tibero ALTER SYSTEM ILOG DISABLE NAME 'BODY_MSG_CSR_BIND_PARAM_INFO'; ALTER SYSTEM ILOG DISABLE NAME 'BODY_SQL_PROCESS'; ALTER SYSTEM ILOG DISABLE NAME 'CSR_USERPARAM_TO_STRNLOG_NULL';ALTER SYSTEM ILOG DISABLE NAME 'CSR_USERPARAM_TO_STRNLOG'; ALTER SYSTEM ILOG DISABLE NAME 'CSR_USERPARAM_TO_STRNLOG_UNKNOWN';
SQL
복사
주의
ILOG TAG를 활성화하면 로그가 많아져 성능 저하나 디스크 사용량 증가가 발생할 수 있으므로, 사용 후 반드시 비활성화를 해야 합니다.
부하가 큰 시스템일 경우 운영 환경에서 사용 시 주의가 필요합니다.