본문 바로가기

카테고리 없음

트레이스 수집하기



트레이스 로그를 수집하자.

실행계획이 쿼리를 실제 처리하는 방법을 묘사한 것이라면

트레이스는 그 실행계획의 실제 실행통계 및 상세통계를 의미한다. 

(Auto Trace도 있지만 여기서는 SQL Trace를 말한다.)


트레이스 통계에는 대표적으로 다음과 같은 정보들이 포함되어 있다.

  1. 쿼리 수행시 읽은 블럭정보 세부통계
  2. 데이터베이스 콜 세부통계
  3. 실행계획 단계별 세부통계
  4. 라이브러리 캐시 히트횟수
  5. 대기이벤트 통계



 Toad로 Tkprof 사용하기

 


 [STEP 01] 에디터 창을 우클릭하여 나오는 메뉴에서 SQL TRACE를 활성화 하고 

               트레이스 수집을 위해 목표 쿼리를 한 번 실행시킨다. 

               (수집 후 비활성화 필수, 계속 수집됩니다)


 


 [STEP 02] Database - Diagnose - Tkprof Wizard 에 들어간다.


 


 [STEP 03] 수집된 트레이스 파일을 넣는다.


SELECT TABLE_NAME

FROM   ALL_TABLES

WHERE TABLE_NAME BETWEEN 'U' AND 'V'


call     count       cpu    elapsed       disk      query    current        rows

------- ------  -------- ---------- ---------- ---------- ----------  ----------

Parse        1      0.03       0.03          0          0          0           0

Execute      1      0.00       0.00          0          0          0           0

Fetch        1      0.03       0.02          0       2025          0          10

------- ------  -------- ---------- ---------- ---------- ----------  ----------

total        3      0.06       0.06          0       2025          0          10


Misses in library cache during parse: 1

Optimizer mode: ALL_ROWS

Parsing user id: 5  


Rows     Row Source Operation

-------  ---------------------------------------------------

     10  FILTER  (cr=2025 pr=0 pw=0 time=198 us)

     10   HASH JOIN RIGHT OUTER (cr=2006 pr=0 pw=0 time=18 us cost=431 size=124046 card=734)

     94    INDEX FULL SCAN I_USER2 (cr=1 pr=0 pw=0 time=0 us cost=1 size=376 card=94)(object id 47)

     10    HASH JOIN OUTER (cr=2005 pr=0 pw=0 time=0 us cost=430 size=121110 card=734)

     10     NESTED LOOPS OUTER (cr=1791 pr=0 pw=0 time=90 us cost=371 size=115238 card=734)

     10      HASH JOIN OUTER (cr=1788 pr=0 pw=0 time=27 us cost=336 size=111568 card=734)

     10       HASH JOIN  (cr=1612 pr=0 pw=0 time=99 us cost=287 size=103494 card=734)

      7        TABLE ACCESS FULL TS$ (cr=9 pr=0 pw=0 time=30 us cost=4 size=21 card=7)

     10        NESTED LOOPS  (cr=1603 pr=0 pw=0 time=99 us cost=283 size=101292 card=734)

   1114         HASH JOIN  (cr=911 pr=0 pw=0 time=4699 us cost=254 size=79272 card=734)

 이하 중략 ...


Elapsed times include waiting on following events:

  Event waited on                             Times   Max. Wait  Total Waited

  ----------------------------------------   Waited  ----------  ------------

  SQL*Net message to client                       1        0.00          0.00

  asynch descriptor resize                        6        0.00          0.00

  SQL*Net message from client                     1        0.03          0.03


  [STEP 04] 분석된 정보가 출력된다.