[3) 오라클 성능 관리]6. V$SYSTEM_EVENT

Yu River·2022년 5월 31일
0

V$SYSTEM_EVENT

  • 앞서 v$sysstat와 함께 v$system_event까지 저장하면 대기 이벤트 발생 현황도 분석이 가능하다.
    • 초 단위로 너무 자주 수집하지만 않는다면 시스템에 주는 부하도 미미하다.

(1) 이벤트 뷰

  • 대기 이벤트와 각 세션별로 이벤트 발생 상황을 로깅하는 기능을 제공한다.
    • v$system_event : 인스턴스 기동 후 현재까지 누적된 이벤트 발생 현황을 시스템 레벨로 확인하고자 할 때 사용한다.
    • v$session_event : 개별 세션별로 누적치를 확인할 수 있다.
    • v$session_wait : 세션별로 현재 진행 중이거나 바로 직전에 발생했던 이벤트 정보를 알 수 있다.

(2) v$session_wait

  • 이벤트 트레이스를 걸지 않았더라도 아래처럼 해당 세션에서 현재 어떤 이벤트가 발생하고 있는지 곧바로 확인이 가능하다.

[예시] v$session_wait을 조회하여 10046 이벤트 트레이스 레벨 8 또는 12 모드의 이벤트 정보와 동일한 정보 출력하기

 =====================================================================================================                
  SQL> column wait_time heading 'WAIT|TIME'
  SQL> column seconds_in_wait heading 'SECONDS|IN WAIT'
  SQL> SELECT event , wait_time , seconds_in_wait , state 
  , p1text || '->' || p1 || ',' || p2text || '->' || p2 || ',' || p3text || '->' || p3 param
            from v$session_wait where sid = 70 ;
                                               SECONDS
  EVENT                           WAIT TIME    IN WAIT STATE      PARAM
  ------------------------------ ---------- ---------- ---------- -----------------------------------
  enq: TX - row lock contention           0        304 WAITING    name|mode->1415053318,usn<<16 | slo
                                                                  t->458760,sequence->663
  =====================================================================================================

WAIT_TIME 값에 따른 해석

  1. WAIT_TIME > 0 :: 마지막 대기이벤트를 대기한 시간을 나타낸다.
  2. WAIT_TIME = 0 :: 이 이벤트를 현재 대기 중임을 나타낸다.
  3. WAIT_TIME = -1 :: 마지막 대기 이벤트를 대기한 시간이 10ms 미만임을 나타낸다.
  4. WAIT_TIME = -2 :: 타이밍이 활성화되지 않음을 나타낸다.
profile
도광양회(韜光養晦) ‘빛을 감추고 어둠속에서 힘을 기른다’

0개의 댓글