문서유형ㅣ기술정보
분야ㅣ 튜닝
적용제품버전ㅣ7FS02, 7FS02PS
문서번호ㅣ TTUTI002
개요
SQL_TRACE는 SQL 실행 시 추적 정보를 기록하여 실행 통계 정보 확인이 가능한 기능입니다.
이 기능을 사용하여 SQL 실행 시 추적 정보를 기록하고 그 결과를 확인하는 방법에 대해 설명합니다.
방법
주의인스턴스 레벨로 Trace 활성화할 경우, 전체 시스템 성능 저하 가능성이 있습니다.세션 레벨로 trace 실행을 권고합니다.
관련 파라미터
파라미터명 | 설명 |
|---|---|
SQL_TRACE | SQL 추적 기능 활성화 여부 (Y: 활성화, N: 비활성화) |
SQL_TRACE 사용 절차
1.세션의 파라미터 값 변경 후 (SQL_TRACE=Y) 쿼리 수행
$ tbsql sys/tibero SQL> set timing on; SQL> set lines 250; SQL> set rows off; -- SQL_TRACE 활성화 SQL> alter session set sql_trace = y; -- 쿼리 수행 SQL> @query.sql -- SQL_TRACE 비활성화 SQL> alter session set sql_trace = n;
2.~.trc 파일을 out 파일로 변환
수행된 쿼리의 Trace 파일(.trc)이 $TB_HOME/instance/$TB_SID/sqltrace 디렉토리에 생성됩니다.
-. Trace 파일 위치 이동 $ cd $TB_HOME/instance/$TB_SID/sqltrace -. Trace 파일을 읽기 쉬운 Out 파일로 변환 $ tbprof tb_sqltrc_13795_186_2104490.trc sqltrace.out
3.sqltrace.out 결과 분석
- parse : SQL문 파싱에 걸린 시간/자원 사용량
- exec : SQL 실행 중 디스크 읽기, 블록 접근, 처리된 로우 수
- fetch : 데이터 패치 시 소모된 리소스

[주요 통계 항목]
항목 | 설명 |
|---|---|
parse | SQL문이 파싱(구문 분석)되는 단계에 대한 통계 |
exec | SQL문의 실행 단계에 대한 통계 (DML : Update, Insert, Delete) |
fetch | SQL문이 실행되면서 데이터 패치(Fetch) 된 통계 |
count | SQL문이 파싱/실행/패치가 수행된 횟수 |
cpu | 실제 CPU 사용 시간 |
elapsed | 작업 시작부터 종료까지 실제 소요 시간 |
current | 해당 세션에서 작업 내역을 커밋하지 않아 자신에게만 유효한 블럭을 액세스한 블럭 수 (Update, Insertm Delete 등 변경 작업 시 증가) |
query | Select 등 읽기 작업에서 읽은 Consistent Read 블록 수 (메모리 내 변경되지 않은 블럭을 읽거나 다른 세션에 의해 변경되었으나 아직 커밋하지 않아 복사해둔 스냅샷 블럭을 읽은 블럭 수) |
disk | 디스크에서 읽어온 블록 수 |
rows | SQL 실행 결과 처리된 최종 행(Row) 수 |
[실행 정보 확인]
