본문 바로가기

Database/DB

Toad Trace 설정 및 확인. (error TKProf.exe path is not set under 'View'->'Options'->Executables')


이번엔 Trace입니다.
저번 포스팅에서의 실행계획은 계획일 뿐입니다. 거의 100% 가까운 계획이지만 꼭 그렇게 된다는 보장은 없습니다.(oracle optimizer 마음입니다.)
Trace는 실제 SQL를 돌렸을때 서버에서 실행되는 경과 시간 및 소요 자원 등을 보여주는 환경입니다.
실행계획이 어떻게 보여줄것인가 를 나타낸다면 Trace는 이렇게 돌아갔습니다. 가 되겠습니다.

1. 툴바에서의 Database->Diagnose->TKProf Interface를 클릭합니다. 



2. information창이 뜹니다.TKProf 설정이 않되었따는군요.


3. 위의 설명대로 View->Options->Executables를 들어갑니다.
 상단의 Auto detect paths for current Oracle Home 를 클릭합니다. 그러면 자동으로 모든 path 가 설정됩니다.
(혹시 Path 가 설정이 않된다면 oracle client를 설치 하실때 기본으로 설치하셔서 그렇습니다! 기존의 오라클을 지우시고 재 설치 하실때 사용자지정으로 들어가셔서 모든 설치를 선택하시고 설치하시면 아래와 같이 모든 path 가 잡힙니다. - 그래서 전 지우고 다시 깔았습니다..ㅜㅡㅜ ) 


4. 이제 다시 툴바에서의 Database->Diagnose->TKProf Interface를 클릭합니다.  
  TKprof Wizard 창이 나옵니다.
  Input Files 에서 Files 를 클릭하고 두번째 Open Files with FTP를 선택합니다.


5. File FTP 가 나옵니다 상단의 connect 버튼을 눌러줍니다.

 
6. server Settings 창이 나옵니다.
host name : 서버가 설치되어 있는 서버의 IP를 넣어줍니다. (개인정보라서 IP는 지웠습니다.)
user name : 유저 이름입니다.
password : 당연히 해당 계정의 패스워드 입니다. 
그리고 OK 버튼을 눌러줍니다.
 


7. 해당 서버에 남아있는 트레이스 파일들이 나옵니다.
선택하시고 OK 버튼을 눌러줍니다.
 


8. 보고 싶은 정보들을 클릭합니다. 모르기에....전부 클릭;;

 
9. 마지막 화면입니다. show recursive SQL statements를 선택하고 Finish 를 눌러줍니다!

 
10.  이제 해석된 파일이 나옵니다.(처음에 path 설정 한것이 oracle 에서 트레이스에 대하여 해석을 지원해 주는 놈입니다. 요놈을 이용해서 파일을 해석하기 때문에 path 설정이 필요했던 겁니다.)

parse / execute / fetch 등에 소용된 시간과 메모리 값등이 나옵니다 . 바로 위엔 제가 금방 날린 쿼리 문이 나오는 군요. 


11. 사실 FTP로 접속하면은 엄청나게 많은 트레이서 들이 나옵니다. 뭐 당연히 골라내는 방법은 시간과 접속한 세션으로 밖에 구별이 되지 않습니다. 이번엔 트레이서를 실행시키는 거에 대해서 입니다.
SQL문을 실행하기 전 오른쪽 마우스 -> SQL Trace라는 곳을 체크 합니다.(활성화 상태)
이제 아래의 쿼리를 실행 합니다.

select b.spid from v$session a, v$process b

where  a.AUDSID = (SELECT USERENV('SESSIONID') FROM DUAL)

and a.paddr = b.addr

위의 sql은 현재 접속한 나의 세션 아이디 입니다.  저의 현재 세션 아이디가 25873  번이 나오는 군요.

 


 12. 다시 오른쪽 마우스-> SQL Trace 의 상태를 끕니다.
     아까 FTP를 접속해 봅니다. 
    파일이름이 25873 번이 보이는 군요! 파일 네이밍은 따로 설정가능합니다.(서버단에서 설정해줘야 합니다. - ;; 자세한건 구글링으로;;)


- 사실 저도 보기만 할뿐;; 아직 봐서 어떻게 고쳐야 할지를 모르겠습니다;ㅎ 튜닝은 아직 익숙치가 않네요;