오라클 Tkprof 사용 방법

Posted by Breeze24
2016. 6. 5. 00:33 DB/Oracle
오라클 Tkprof 사용 방법


Tkprof를 사용해 특정 쿼리의 총 수행 시간과 Explain Plan을 보는 방법을 알아보자. 


우선 전체 세션이 아니라 특정 세션에 대해서만 Tkprof를 수행할 것이다. 

전체 세션으로 했을 경우에는 실행 쿼리가 많아 원하는 쿼리에 대해서만의 분석결과를 얻기도 힘들고, 파일의 양이 많아져, 비효율적이다. 

사용 방법


토드, 오렌지, PLSQL과 같은 오라클 툴을 실행한다. 

그리고 아래와 같이 입력한다. 


alter session set sql_trace=true; --추적 시작
 
alter session set tracefile_identifier='query1';  --trace 파일 명을 구분 하기 위해 파일명에 붙는 표시 문자열
 
alter session set timed_statistics=true;   --trace 파일에 시간정보 표시


만약 옵티마이저 모드를 변경해서 쿼리를 수행하고 싶다면 아래 명령어를 실행한다. 

alter session set optimizer_mode = ALL_ROWS;


이제 준비가 되었으니, Tkprof를 수행할 쿼리를 실행한다. 

.

쿼리가 실행이 되었으면, 추적을 종료시킨다. 

alter session set sql_trace=false;  

결과 확인

오라클 DB에 텔넷 또는 SSH로 접속한다. 

Tkprof가 저장되는 위치로 이동한다.

(보통 $ORACLE_HOME/admin/SID/udump 또는 cdump, bdump에 저장된다.)


명령프롬프트에서 아래와 같이 입력한다. 

tkprof 파일명.trc /절대경로/query1.prf sys=no explain=DB계정/패스워드


그럼 결과 파일이 생성된다. 


아래와 같이 결과 파일에서 원하는 정보를 얻으면 된다. 


오라클 Tkprof 사용 방법


Tkprof 사용 방법

참고로 오라클 통계정보 생성은 아래처럼 하면 된다. 

analyze table 테이블명 compute statistics;
.

'DB > Oracle' 카테고리의 다른 글

오라클 TDE 암호화 절차  (0) 2017.08.14
오라클 효율적인 대량 Insert Update  (4) 2016.06.05
LIKE 쿼리 튜닝  (0) 2016.06.05
DB I/O WAIT 대기 확인 및 조치 방법  (0) 2016.06.04
SQL Number Type  (0) 2016.06.04