행위

"오라클 튜닝 sql trace"의 두 판 사이의 차이

DB CAFE

23번째 줄: 23번째 줄:
 
$tkprof 트레이스파일명 변경할파일명 sys=no  
 
$tkprof 트레이스파일명 변경할파일명 sys=no  
 
</source>
 
</source>
 +
 +
 +
==== TKPROF 결과 값 ====
 +
- Parse    : SQL문이 파싱되는 단계에 대한 통계. 새로 파싱을 했거나 Shared SQL Pool에서 찾아 온 것도 같이 포함 된다.
 +
- Execute : SQL문의 실행 단계에 대한 통계. Update, Insert, Delete 문장들은 여기에 수행한 결과만 나온다.
 +
- Fetch    : SQL문이 실행되면서 페치된 통계
 +
- count    : SQL문이 파싱/실행/페치가 수행된 횟수
 +
- cpu        : parse, execute, fetch가 실제로 사용한 CPU시간
 +
- elapsed : 작업의 시작에서 종료시까지 실제 소요된 시간
 +
- disk      : 디스크에서 읽혀진 데이터 블럭의 수
 +
- query    : 메모리내에서 변경되지 않은 블럭을 읽거나 다른 세션에 의해 변경되었으나 아직 커밋되지 않아 복사해 둔 스냅샷 블럭을 읽은 블럭 수. SELECT문에서는 대부분 여기에 해당하며 Update, Insert, Delete 작업시에는 소량만 발생 합니다.
 +
- current  : 현 세선에서 작업한 내용을 커밋하지 않아 오로지 자신에게만 유효한 블럭(Dirty Block)을 액세스한 블럭 수. 주로 Update, Insert, Delete 작업시 많이 발생 한다
 +
- rows      : SQL문을 수행한 결과에 의해 최종적으로 액세스된 로우의 수
 +
[출처] [Oracle] SQL 실행계획 / 트레이스 방법|작성자 sophieYeom

2020년 11월 20일 (금) 14:25 판

thumb_up 추천메뉴 바로가기


1 SQL 트레이스[편집]

1.1 현재 세션 트레이스 설정[편집]

1.1.1 SQL 트레이스 수행[편집]

-- sql trace 시작 alter session set sql_trace=true; -- sql 조회 select * from tb_xxx; -- sql trace 종료 alter session set sql_trace=false;

1.1.2 SQL 트레이스 파일 생성 위치 확인[편집]

SELECT NAME,VALUE
  FROM V$DIAG_INFO
 WHERE NAME = 'Diag Trace';

1.1.3 트레이스 파일 변경 및 내용 확인[편집]

$tkprof 트레이스파일명 변경할파일명 [explain= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ] ...

$tkprof 트레이스파일명 변경할파일명 sys=no


1.1.4 TKPROF 결과 값[편집]

- Parse     : SQL문이 파싱되는 단계에 대한 통계. 새로 파싱을 했거나 Shared SQL Pool에서 찾아 온 것도 같이 포함 된다.
- Execute : SQL문의 실행 단계에 대한 통계. Update, Insert, Delete 문장들은 여기에 수행한 결과만 나온다.
- Fetch     : SQL문이 실행되면서 페치된 통계
- count    : SQL문이 파싱/실행/페치가 수행된 횟수
- cpu        : parse, execute, fetch가 실제로 사용한 CPU시간
- elapsed : 작업의 시작에서 종료시까지 실제 소요된 시간
- disk       : 디스크에서 읽혀진 데이터 블럭의 수
- query    : 메모리내에서 변경되지 않은 블럭을 읽거나 다른 세션에 의해 변경되었으나 아직 커밋되지 않아 복사해 둔 스냅샷 블럭을 읽은 블럭 수. SELECT문에서는 대부분 여기에 해당하며 Update, Insert, Delete 작업시에는 소량만 발생 합니다.
- current  : 현 세선에서 작업한 내용을 커밋하지 않아 오로지 자신에게만 유효한 블럭(Dirty Block)을 액세스한 블럭 수. 주로 Update, Insert, Delete 작업시 많이 발생 한다
- rows      : SQL문을 수행한 결과에 의해 최종적으로 액세스된 로우의 수

[출처] [Oracle] SQL 실행계획 / 트레이스 방법|작성자 sophieYeom