Skip to the content.

Trace

Auto Trace

--1. Auto Trace 옵션 ON
SET AUTOTRACE ON

--2. 쿼리 실행
SELECT * FROM owner_name.table_name;

--3. 자동으로 결과 출력 후 실행 계획과 실행 통계가 출력됨
Execution Plan
----------------------------------------------------------
Plan hash value: 1516826816

-------------------------------------------------------------------------------
| Id  | Operation          | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |            |     1 |   135 |     2   (0)| 00:00:01 |
|*  1 |  COUNT STOPKEY     |            |       |       |            |          |
|   2 |   TABLE ACCESS FULL| table_name |     1 |   135 |     2   (0)| 00:00:01 |
-------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter(ROWNUM<=1)


Statistics
----------------------------------------------------------
          1  recursive calls
          0  db block gets
          3  consistent gets
          0  physical reads
          0  redo size
       2144  bytes sent via SQL*Net to client
         52  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed

--4. Auto Trace 옵션 OFF
SET AUTOTRACE OFF


실행 옵션

|명령어|설명| |-|-| |SET AUTOTRACE TRACEONLY|결과 없이 실행 계획과 실행 통계 출력| |SET AUTOTRACE TRACEONLY EXPLAIN|결과 없이 실행 계획만 출력| |SET AUTOTRACE TRACEONLY STATISTICS|결과 없이 실행 통계만 출력|


Auto Trace 권한

Auto Trace를 사용하려면 PLUSTRACE 권한이 필요

--부여
GRANT PLUSTRACE TO owner_name;

--회수
REVOKE PLUSTRACE TO owner_name;


SQL Trace

--1. SQL TRACE 활성화 (세션 레벨)
ALTER SESSION SET SQL_TRACE = TRUE;
ALTER SESSION SET EVENTS '10046 trace name context forever, level 12';

--2. 파일 구분자 설정
ALTER SESSION SET TRACEFILE_IDENTIFIER='identifier';

--3. 쿼리 실행
SELECT * FROM owner_name.table_name;

--4. SQL TRACE 비활성화
ALTER SESSION SET SQL_TRACE = FALSE;

--5. 파일 확인
sid_ora_processid_identifier.trc 

--6. 파일 변환
tkprof tracefile outputfile


SQL Trace 주의점