행위

TKPROF

DB CAFE

Dbcafe (토론 | 기여)님의 2024년 2월 10일 (토) 13:47 판 (TKPROF)
thumb_up 추천메뉴 바로가기


1 TKPROF[편집]

  • 사용법
tkprof trace_file output_file [explain=] [table=] [print=] [insert=] [sys=] [sort=]
  • table = schema.tablename : 'explain=' 옵션과 함께 사용. explain plan이 사용할 테이블 지정 , 잘사용하지 않음. 이 옵션을 하지 않아도 자동으로 prof$plan_table 생성하고 제거되기 때문 . create table 권한이 없을 경우에만 생성.
  • explain=user/password  : explain plan 구문을 실행하여 처리됨, DB 접속이 필요하므로 계정/비밀번호가 필요함. 그러나 잘사용하지 않음.
  • print=숫자  : 출력파일에 포함 되는 sql 구문의 수를 제한, 기본값은 무제한 ,print=10 이면 top sql 10개만 포함.
  • aggregate = yes | no  : 기본값 yes , 동일한 텍스트를 가진 sql 구문을 어떻게 처리 할지 결정.
  • insert = file_name.  : 인서트 구문 목록과 데이터를 파일로 기록
  • record = file_name  : 트레이스파일에 있는 비순환절 기록, 바인드 변수를 처리 할수 없으므로 이기능은 사용하지 못함.
  • waits = yes | no  : 트레이스파일에 있는 모든 대기 이벤트 기록 함. 기본값은 no , waits = yes를 추천함.
  • sort = option  : 출력파일에 sql구문을 어떤 순서로 기록할지 결정. sort 옵션에 따라서 0 이나 0 이상 설정. 정렬옵션은 호출횟수,cpu 시간,물리적읽기 횟수,경과시간 으로 정렬 가능.
    • sort = prsela,exeela,fchela <== 추천 옵션
      preela 는 커서를 파싱하는데 소요한 시간
      exeela 는 커서를 실행하는데 소요한 시간
      fchela 는 서커로 부터 데이터를 패치하는데 소요한 시간
    • 성능 문제 에서 가장 유용한 정렬옵션은 응답시간
    • 트레이스 파일에 여러 세션의 정보가 포함되어 있고 aggregate = no 인경우 sql 구문은 각각의 세션과 무관되게 정렬됨.
  • 많이 사용되는 tkprof 옵션
tkprof trace파일 output파일 sys=no sort=prsela,exeela,fchela
  • sys = no  : sys 유저에 의해 실행되는 SQL문은 제외함.

1.1 tkprof 명령어[편집]