OWI란?

오라클은 어떤 작업을 수행하는 과정에서 해당 프로세스가 원하는 리소스를 획득하지 못하는 경우, 리소스에 대한 점유가 해제될 때까지 리소스와 관련된 이벤트를 대기한다.
프로세스가 겪는 대기현상을 기록하고 관찰하는 일련의 기능과 인터페이스, 그리고 방법론을 통칭하여 OWI(Oracle Wait Interface)라고 부른다.

OWI는 계속 진화하고 있으며 버전이 지날수록 세분화된 이벤트를 제공하고 있다.
보다 활용도가 높아지고 있다는 반증이다.

버전EVENT 수
7.0.1104
8.0140
9i402
10g889
11g1118
  • 대기 이벤트는 P1, P2, P3라는 세 개의 파라미터를 통해 대기하는 리소스를 표현한다.
  • OWI에서 말하는 리소스는 3개의 파라미터로 표현 가능한 것들에 국한됨
  • V$SESSION_WAIT뷰,V$SESSION뷰,SQL Trace(level 4, 12)를 통해 관찰이 가능하다.
대기현상의 표현

오라클은 대기회수(Waits), 타임아웃(Time-outs), 대기시간(Total Wait Time)이라는 세 가지 값을 이용해 대기현상을 표현함.


Avg          
                                             %Time  Total Wait    wait     Waits
Event                                 Waits  -outs    Time (s)    (ms)      /txn
---------------------------- -------------- ------ ----------- ------- ---------
gc buffer busy                        4,839    1.4          68      14       0.9
gc current block busy                 1,271     .0          38      30       0.2

사용자 관점에서 가장 의미 있는 것은 대기시간이다.
특정 프로세스가 어던 작업을 수행하는 과정에서 실제로 작업한 시간(Service Time/Cpu Time)이 100초이고, 작업을 수행한 동안 이벤트를 대기한 시간이 50초라면 사용자가 체감한 응답시간은 100+50=150초가 된다.
Response Time = Service Time + Wait Time
Latch같은 경우 래치획득 시도회수가 매우 빈번하기 때문에 대기회수로 경합여부를 판단하는 것은 의미가 없다.

문서에 대하여