문서유형ㅣ기술정보
분야ㅣ모니터링/점검
적용제품버전ㅣT7
문서번호ㅣTMOTI053
개요
SQL 수행 중 에러가 발생한 쿼리 원문을 syslog 의 정보를 통해 memlog 에서 확인 하는 방법에 대한 가이드 입니다.
방법
시나리오
sys.log에 column constraint 위반 로그가 다수 발생하였으나, sys.log 상에서는 해당 쿼리를 확인할 수 없습니다.
쿼리 수정을 위해 담당자로부터 쿼리 원문을 조회할 필요가 있습니다.
테이블 정의
테이블 생성문
create table tibero.test (id number, name varchar(20), address varchar(20));
에러 원인 쿼리 조회
에러 유발
insert into tibero.test values (1,'aaaaaaaaaaaaaaaaaaaaaaaaa','bbb');
memlog path 확인
memlog는 memory log 파일로, 세션별 시스템 로그를 기록하는 파일입니다.
memlog의 위치는 mem_log_dest 파라미터를 통해 정의되어 있습니다.
SQL> show parameter mem_log_dest NAME TYPE VALUE ---------------- -------- ------------------------- MEM_LOG_DEST DIRNAME /tibero/tibero7/instance/tibero/log /memlog/
sys.log 에서 에러 확인
NAME TYPE VALUE ------------- -------- -------------------------------------------------- SLOG_DEST DIRNAME /tibero/bis/tibero7/instance/tibero/log/slog/
syslog는 시스템 로그 파일로, Tibero DBMS에서 수행되는 중요한 작업이 기록되는 파일입니다.
해당 파일은 서버 성능 저하의 원인을 분석하거나 Tibero 자체의 버그를 해결하는 데 활용될 수 있습니다.
DDL 및 DeadLock을 제외한 쿼리는 sys.log에 기록되지 않으며, memlog를 통해 조회할 수 있습니다.
syslog의 경로는 slog_dest 파라미터로 정의되어 있습니다.
vi /tibero/bis/tibero7/instance/tibero/log/slog/sys.log ... [2025-12-11T15:08:04.085747] [FRM-94] [I] THROW. ec=ERROR_EXP_NOT_FIT_LEN(-11048) [ "TIBERO"."TEST"."NAME" The value is too large for the column. (Actual value: 25, Maximum value: 20) ] (sql_id:45xbx80kgxswd, sub_sql_id:45xbx80kgxswd, csr_id:33, user:SYS, ap_module:(null), program:tbsql, host:db01_mis) [dt.h:699:dtv_pad_space_or_check_fit_into] ...
sys user 로 로그인 후 memlog dump 수행
sys 로그에서 세션 ID와 csr_id를 확인할 수 있으며, [FRM-94]에서 94는 세션 ID를 의미하고 csr_id는 33임을 확인할 수 있습니다.
평소에는 memlog가 발생하지 않으나, 세션 ID를 활용하여 아래 쿼리와 같이 memlog를 발생시킬 수 있습니다.
SQL> alter system dump memlog 94; System altere
memlog dumpfile 확인
세션 ID와 csr_id를 통해 memlog에서 문제 쿼리를 조회할 수 있습니다.
[tibero@ memlog]$ pwd /tibero/tibero7/instance/tibero/log/memlog [tibero@ memlog]$ ls -alt total 108 drwxr-xr-x. 2 tibero dba 4096 Dec 11 15:40 . drwxr-xr-x. 10 tibero dba 4096 Dec 11 15:18 .. -rw-r--r--. 1 tibero dba 102399 Dec 11 15:18 sql_memlog.3864519.94.0
파일명은 sql_memlog.xxxxx.94.0 형식이며, 위에서 확인한 세션 ID(94)가 포함되어 있습니다.
따라서 세션 ID 및 파일 생성 시간 등을 참고하여 해당 파일을 확인하시면 됩니다.
CSR_ID:33을 기준으로 검색할 경우, 관련 SQL을 확인할 수 있습니다.
[tibero@ memlog]$ cat sql_memlog.3864519.94.0 | grep CSR_ID:33 2025/12/11 15:08:04.082465 CSR_ID:33 insert into tibero.test values (1,'aaaaaaaaaaaaaaaaaaaaaaaaa','bbb')