Site icon DBA의 정석

Oracle DB Hang 상태

Oracle Database Hang 상태의 정의

1. What`s the problem ?

  1. 누가 현상을 분석하는가?
  2. 무엇을 확인하는가?
  • Hang 현상으로 인해 상황 분석 불가
  • 문제 원인을 찾기 보다는 Application / DBMS를 re-startup
  • 2. Monitoring Oracle Continuously
    3. 비정상 상태의 세션 발생 감시
    1. Critical Wait Event가 30초 이상 지연되고 있다.
    2. Normal Wait Event가 60초 이상 지연되고 있다.
  • 5초 간격으로 active session의 wait event를 기록한다.
    1. Critical Wait event : row cache lock, free buffer waits, library cache pin, log file sync, latch free 등
    2. Normal Wait event : db file sequential read,SQL*Net message to client(or dblink) 등.
    3. Idle wait event는 모니터링 제외
    4. STATE가 ‘WAITING’인 것만을 대상
  • Wait event는 idle, non-idle로 논리적 구분할 수 있으며, 그 종류는 v$event_name으로 확인 할 수 있다.
  • 4. 공유 자원의 비 효율적 사용 감시 및 Leak 감시
    • V$SGASTAT : shared pool에 할당되는 메모리의크기를 표현하고있다.
      • Application의 목적과 동작 형태에 따라 특정 유형의 메모리 할당이지속적으로증가 할 수 있다. 또 code bug에 의한 memory leak이 발생 할 수 있다.
      • Permanent chunk가 지속적으로할당 될 경우, ORA-4031가 발생되며, 이는 instance crash의 원인이 될 수 있다.
      • 특정 유형의 memory(name)의 크기가 지속적으로 증가 한다. (시간 또는 일 비교)
      • 비 정상 상태  : ‘dictionary cache’ 와 ‘sql area’의 크기가 지속적으로 감소한다 

    5. 비 정상 적인 transaction을 모니터링

    6. Sort segment 및 Enqueue 의 상태 감시

    7. Instance 지표 검사

    8. Hardware monitoring
    9. Identifying a Problem

    Exit mobile version