"오라클 튜닝 sql trace"의 두 판 사이의 차이
DB CAFE
(→SQL 트레이스 수행) |
|||
4번째 줄: | 4번째 줄: | ||
==== SQL 트레이스 수행 ==== | ==== SQL 트레이스 수행 ==== | ||
− | -- sql trace 시작 | + | <source lang=sql> |
+ | -- 0.트레이스 식별자 지정 | ||
+ | alter session set tracefile_identifier=’test’; | ||
+ | |||
+ | -- 1. sql trace 시작 | ||
alter session set sql_trace=true; | alter session set sql_trace=true; | ||
-- sql 조회 | -- sql 조회 | ||
10번째 줄: | 14번째 줄: | ||
-- sql trace 종료 | -- sql trace 종료 | ||
alter session set sql_trace=false; | alter session set sql_trace=false; | ||
+ | </source> | ||
==== SQL 트레이스 파일 생성 위치 확인 ==== | ==== SQL 트레이스 파일 생성 위치 확인 ==== |
2020년 11월 20일 (금) 14:27 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
1 SQL 트레이스[편집]
1.1 현재 세션 트레이스 설정[편집]
1.1.1 SQL 트레이스 수행[편집]
-- 0.트레이스 식별자 지정
alter session set tracefile_identifier=’test’;
-- 1. 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