본문 바로가기

TUNING

OWI - Oracle Wait Interface



OWI

Oracle Wait Interface



기다리는 이유를 찾아 해결하는 것

프로세스가 겪는 대기현상을 기록하고 관찰




대기현상 표현 방법

대기횟수, 타임아웃횟수, 대기시간을 이용해 대기현상을 표현

eg) 프로세스는 특정시간동안 XXXX이벤트를 총 n번 대기하고, 그중 n번의 타임아웃이 발생했으며, 총 대기시간은 n초였다.


이중에서 가장 의미가 있는것은 대기시간

--> 래치의 경우 시도횟수가 매우 빈번하기 때문에 대기횟수로 판단하는것은 의미가 없음


사용자가 실제로 체감하는 응답시간 = Response Time

특정 프로세스의 실제 작업 시간 = Service Time

작업 수행중 이벤트를 대기한 시간 = Wait Time


Response Time = Service Time + Wait Time


Service Time 이나 Wait Time, 둘 중 하나만 빨라져도 Response Time도 빨라짐 (빨라짐 = 낮아짐)

어떤 문제들은 Service Time을 낮추면 자연스럽게 Wait Time도 낮아지기도 한다.

또한 어떤 문제들은 Wait Time을 낮추는 것만이 유일한 방법인 경우도 있음.





OWI Dynamic View

대기이벤트들을 워디로 봐야하는가?


1) V$SYSTEM_EVENT

DB START UP 된 후 현재시점까지 모든 세션에서 발생한 대기이벤트의 누적 정보

인스턴스의 안정도 판단 가능 + 서버 전체 부하 측정할 때 많이 사용


2) V$SESSION_EVENT

현재 접속되어 있는 각 개별 세션별 대기이벤트의 누적 정보

즉, 사용자별로 조회 가능

세션별로 전반적인 안정도 판단 가능


3) V$SESSION_WAIT

각 세션이 현재 대기하고 있는 이벤트에 대한 상세 정보

실제 작업하고 있는 것들은 보이지 않고 (-> 이거는 V$SESSION_EVENT를 조회)

기다리고 있는 것들만 보여준다

누적정보가 아니기 때문에 현재 시점의 상황만 조회 가능 = 실시간






'TUNING' 카테고리의 다른 글

Latch와 Lock  (0) 2013.03.27
INSTANCE 튜닝 - Data Buffer Cache  (0) 2013.03.19
Optimizer  (0) 2013.03.14
SQL AutoTrace & SQL Trace  (0) 2013.03.12
SQL 처리 구조  (0) 2013.03.11