행위

AWR 네트워크 대기 이벤트 모니터링

DB CAFE

thumb_up 추천메뉴 바로가기


1 dba_hist_service_wait_class 와 dba_hist_snapshot[편집]

  1. 데이터베이스 대기 이벤트 통계는 Oracle 프로세스가 작업을 처리하기 위해 특정 유형의 데이터베이스 리소스를 기다려야 했던 시간과 시간을 보여줍니다.
  2. Oracle에서는 이러한 대기 이벤트를 관리, 애플리케이션, 클러스터, 커밋, 동시성, 구성, 유휴, 네트워크, 기타, 스케줄러, 시스템 I/O 및 사용자 I/O를 포함한 여러 범주로 그룹화합니다.
  3. 대기 이벤트 데이터는 대기 시간별로 정렬되어 있으면 효과적으로 사용할 수 있습니다.
  4. 이렇게 하면 가장 중요한 대기 이벤트가 먼저 발견되어 추가 조사를 위한 주요 후보가 됩니다.
SELECT TRUNC (end_interval_time) c1 -- 종료|시간
      , wait_class c2                -- 대기|클래스
      , SUM (time_waited) c3         -- 시간|대기
   FROM dba_hist_service_wait_class 
   JOIN dba_hist_snapshot USING (snap_id)
  WHERE wait_class = 'Network'
GROUP BY TRUNC (end_interval_time), wait_class
ORDER BY TRUNC (end_interval_time), c3 DESC;

2 dba_hist_system_event[편집]

  1. AWR에서 dba_hist_system_event 테이블을 쿼리하여 Oracle이 네트워크 패킷을 기다린 시간을 확인할 수 있습니다.
  2. 네트워크 활동을 보여줄 수 있는 여러 시스템 이벤트가 있습니다.
select * from dba_hist_system_event
  where event_name like 'SQL%';

3 sys.v_$system_event[편집]

SELECT event                  event,
         total_waits            total_waits,
         time_waited / 100      time_waited,
         total_timeouts         total_timeouts,
         average_wait / 100     average_wait
    FROM sys.v_$system_event
   WHERE     event IN ('SQL*Net break/reset to client',
                            'SQL*Net message from client',
                            'SQL*Net message to client',
                            'SQL*Net more data to client')
         AND event NOT LIKE '%done%'
         AND event NOT LIKE '%Idle%'
ORDER BY total_waits DESC;

4 v$system_wait_class[편집]

SELECT wait_class,
         total_waits,
         ROUND (100 * (total_waits / sum_waits), 2)     pct_waits,
         time_waited,
         ROUND (100 * (time_waited / sum_time), 2)      pct_time
    FROM (SELECT wait_class, total_waits, time_waited
            FROM v$system_wait_class
           WHERE wait_class = 'Network' AND wait_class != 'Idle'),
         (SELECT SUM (total_waits) sum_waits, SUM (time_waited) sum_time
            FROM v$system_wait_class
           WHERE wait_class != 'Idle')
ORDER BY 5 DESC;