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 |