1. SQL 튜닝
2. 특정 구간 및 시점 문제점 파악
: SQL 추적 파일에는 SQL 수행 정보가 순차적으로 기록되므로 이를 이용하여 특정 구간 및 시점의 문제점
( 바인드 변수 ORA-0001 : unique constraint violated 확인 )
3. 수행 SQL 수집
: SQL 관리와 액세스 패스 파악을 통한 인덱스 생성 및 튜닝에 활용
ALTER [ SESSION | SYSTEM ] SET SQL_TRACE = [ TRUE | FALSE ];
ALTER [ SESSION | SYSTEM ] SET EVENTS '10046 TRACE NAME CONTEXT FOREVER, LEVEL n';
ALTER [ SESSION | SYSTEM ] SET EVENTS '10046 TRACE NAME CONTEXT OFF';
-- SQL_TRACE 방법은 LEVEL 1로만 SQL 추적 파일 생성
-- SQL 추적 파일 생성
ALTER SESSION SET SQL_TRACE = TURE ;
ALTER SYSTEM SET SQL_TRACE = TURE;
-- SQL 추적 파일 해제
ALTER SESSION SET SQL_TRACE = FALSE ;
ALTER SYSTEM SET SQL_TRACE = FALSE;
-- SQL_TRACE 방법은 LEVEL 1로만 SQL 추적 파일 생성
-- SQL 추적 파일 생성
ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT FOREVER, LEVEL 12';
ALTER SYSTEM SET EVENTS '10046 TRACE NAME CONTEXT FOREVER, LEVEL 12';
-- SQL 추적 파일 해제
ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT OFF';
ALTER SYSTEM SET EVENTS '10046 TRACE NAME CONTEXT OFF';
-- 파일 Header를 '10046_TRACE' 설정, 파일 크기 무제한으로 레벨 4로 SQL 추적 파일 생성 예
ALTER SESSION SET TRACEFILE_IDENTIFIER='10046_TRACE' ;
ALTER SESSION SET TIMED_STATISTICS = TRUE ;
ALTER SESSION SET MAX_DUMP_FILE_SIZE=UNLIMITED ;
ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT FOREVER, LEVEL 4';
SQL_TRACE = [ TRUE | FALSE ]
EVENT ="10046 trace name context forever,level 12"
-- 다른 세션의 SQL 에 대한 SQL 추적 파일 설정
-- DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION ==> LEVEL 1 만 가능
DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(sid,serial#, TRUE | FLASE)
EXEC DBMS_SYSTEM.SET_EN(sid,serial#,10046,level#,'')