본문 바로가기

Oracle

원본 10046 트레이스 파일에 담긴 정보의 요약

-- Expert of Oracle  p318 정리 --
원본 10046 트레이스 파일에 담긴 정보의 요약

Oracle 의 10046 확장 트레이스 파일에는 수많은 키워드와 관련 값들이 포함되어 있으며, 사용자는 이 값들을 분석하여 모니터링 대상 세션이 어떤 작업을 했고, 작업을 수행하는 과정에서 어떤 대기 현상에 왜 부딪혔는지 파악할 수 있다.

len  :  SQL 문장에 포함된 문자의 수

dep : 애플리케이션/트리거에서 실행된 SQL 문장의 'depth'.
dep=0 은 사용자가 직접 실행한 SQL 문장임을 의미
dep=1 은 해당 문장이 트리거 내에서, Oracle 옵티마이저에 의해서,
             또는 내부적인 공간 관리를 위해 자동실행
dep=2 는 일반적으로 트리거 내에서 SQL 문장이 호출되거나
              공간 관리를 위해 실행된 SQL 문장이 하드파싱 수행 
dep=3 은 트리거에서 다른 트리거를 호출하고, 이 트리거에서 또 다른 SQL 문장을 호출할 때 주로 나타남.        (공간 관리용 SQL 문장에서 하드 파싱이 일어나거나 트리거에서 호출된 SQL 문장이 하드파싱 때도 발생 가능)

oct : Oracle Command Type  ( V$SESSION.COMMAND, V$SQL.COMMAND_TYPE )
       1 = Create Table  2 = Insert  3 = Select   6 = Update  7 = Delete  9 = Create Index

hs  : SQL 문장의 hash value
        ( V$SQL, V$SQL_PLAN,        V$SQL_PLAN_STATISTICS,
          V$SQL_OPTIMIZER_ENV,    V$SQL_SHARED_CURSOR  )
       HASH_VALUE 는 ad= 항목에 나타나는 SQL 주소와 함께 사용하도록 한다.

ad  : SQL 문장의 주소. 이값은 hv 또는 sqlid 항목과 함께 사용하도록 한다.

sqlid

tim    1/1,000,000 초


c      CPU 시간
e      경과 시간  ( e > c )
p      디스크로부터 읽은 블록의 수
cr     읽기 일관성 모드로 읽은 블록의 수  ( db block_gets  in  V$SYSSTAT , V$SESSTAT )
        ( 사용자가 원하는 SCN 기준으로 읽기 위해 언두 블록의 적용이 필요할 수도 있다. )
cu     현재 모드로 읽은 블록의 수 
        ( 변경 후 커밋이 되었거나 아직 커밋이 되지 않은 정보가 담겨 있을 수 있다. )
        - 일반적으로 Insert, Update, Delete 등의 명령으로 블록의 내용을 변경시 현재모드로 블록 읽음

mis    library cache misses
r        해당작업에서 반환된 로우수

og      Optimizer Goal
         1 = All_Rows  2 = First_Rows  3 = Rule  4 = Choose
XCTEND  rlbk=0 : 세션이 Commit 명령을 실행하였음을 의미하며, 그 다음에 rd_only=1  항목이 나타나면 Commit 에 의해 변경된 데이터가 없다는 뜻이다. 
               rlbk=1 : 세션에서 Rollback 이 실행하였음을 의미
ela      경과시간


Additional Reference
Optimizing Oracle Performance  written by  Cary Millsap & Jeff Holt
Metalink Doc ID 39817.1