반응형

SQL*TRACE

 

SQL*TRACE 기능

EXPLAIN PLAN 명령어와 함께 튜닝작업 시 자주 사용되는 기능

사용자가 실행한 SQL문에 대한 실행계획 만을 보여주는 EXPLAIN PLAN과는 달리 SQL*Trace 기능은

   SQL문의 실행계획과 더불어 실행 소요시간과 디스크 및 메모리부터 읽은 블록 수에 대한 정보도 포함

SQL*TRACE 기능에 의해 분석되는 결과는 운영체제 상에 생성

이 파일은 바이너리 형태이기 때문에 사용자가 직접 눈으로 확인할 수 없음

TKPROF 유틸리티를 사용하여 텍스트 파일형태로 변화하여 참조

init.ora 파일에 다음과 같은 파라미터 반드시 설정 필요

 

필요 파라미터

1) TIMED_STATISTICS : SQL문의 처리 시간 및 통계정보

2) SQL_TRACE : SQL문의 트레이스 기능을 사용 가능하게 해 주는 파라미터

3) USER_DUMP_DEST : SQL문의 분석된 결과가 저장될 경로를 지정하는 파라미터

4) MAX_DUMP_FILE_SIZE : 분석 결과가 저장될 트레이스 파일의 크기를 결정하는 파라미터

 

-- 파라미터 세팅

alter session set sql_trace=true;

 

-- sql 구문 실행

select * from dept;

 

--확인

select * from v$parameter

where name like 'user_dump%';

 

cd /oracle11/app/diag/rdbms/testdb/testdb/trace

 

$ls -rtl

 

 

가장 최신인 맨 아래 것

-rw-r----- 1 oracle oinstall 1761 Feb 16 14:36 testdb_ora_3913.trc

 

--분석

[oracle@localhost trace]$

tkprof testdb_ora_3913.trc T3913.tkf SYS=NO EXPLAIN=SYSTEM/MANAGER  

 

 

[oracle@localhost trace]$ cat T3913.tkf

 

SQL*TRACE 결과 분석

COUNT : SQL문이 처리될 때 분석, 실행, 인출을 각 몇 번씩 실행 했는지를 나타냄

CPU : SQL문의 처리 단계별로 CPU를 몇 초 사용했는지 나타냄

ELAPSED : SQL문의 처리 단계별로 처리된 소요시간

DISK : 테이블에 저장되어 있는 데이터 파일로부터 데이터를 읽어오기 위해 읽은 블록 수

CUTRRENT : 메모리에 저장된 데이터를 가져오기 위해 읽은 버퍼 블록 수

(현 세션에만 유효한 블록 수 ,주로 의 수행 시)

QUERY : 읽기 일관성을 만족하는 블록 수

 

'Study Note > Database' 카테고리의 다른 글

Index 생성 속도 향상 - parallel, nologging 옵션  (0) 2016.02.23
V$SQLAREA 자료 사전  (0) 2016.02.16
DBMS_XPLAN.DISPLAY 다량데이터 조회시 참고사항  (0) 2016.02.16
SQL TUNING - 기본  (0) 2016.02.15
DDL  (0) 2016.02.04

+ Recent posts