오라클 성능 고도화 원리와 해법 I (2009년)
대기 이벤트 0 0 5,891

by 구루비 Wait Event 대기 이벤트 [2009.10.21]


목차

1. 대기 이벤트(Wait Event)란?

2. 대기 이벤트는 언제 발생하나?

3. 대기 이벤트는 언제 사라지나?

4. 래치와 대기 이벤트 개념 명확화

1. 대기 이벤트(Wait Event)란?

  • 대기 이벤트란 오라클 인스턴스 내에서 공유된 자원을 사용하기 위해 프로세스들이 점유를 해야 하는데 이 때 점유를 하지 못한 상태에서는 Sleep 상태에 빠지며
    이 때 발생되는 현상을 대기 이벤트(Wait Event)라고 함.
  • 대기 이벤트는 오라클 개발자들이 Debuging 용도로 개발한 것인데 오늘날까지 발전되어 성능관리 분야에 일대 혁신을 가져옴.
  • 대기 이벤트 종류(10.2.0.3 기준)
    • 대기 이벤트 종류는 아래의 SQL을 수행하여 확인할 수 있다.

SELECT WAIT_CLASS,
       NAME,
       PARAMETER1,
       PARAMETER2,
       PARAMETER3
FROM   V$EVENT_NAME
ORDER BY WAIT_CLASS,
         NAME
;

CountWAIT_CLASSNAMEPARAMETER1PARAMETER2PARAMETER3
1AdministrativeASM COD rollback operation completiondismount force
2AdministrativeASM mount : wait for heartbeat
3AdministrativeBackup: sbtbackup
4AdministrativeBackup: sbtclose
5AdministrativeBackup: sbtclose2
6AdministrativeBackup: sbtcommand
7AdministrativeBackup: sbtend
8AdministrativeBackup: sbterror
9AdministrativeBackup: sbtinfo
10AdministrativeBackup: sbtinfo2
11AdministrativeBackup: sbtinit
12AdministrativeBackup: sbtinit2
13AdministrativeBackup: sbtopen
14AdministrativeBackup: sbtpcbackup
15AdministrativeBackup: sbtpccancel
16AdministrativeBackup: sbtpccommit
17AdministrativeBackup: sbtpcend
18AdministrativeBackup: sbtpcquerybackup
19AdministrativeBackup: sbtpcqueryrestore
20AdministrativeBackup: sbtpcrestore
21AdministrativeBackup: sbtpcstart
22AdministrativeBackup: sbtpcstatus
23AdministrativeBackup: sbtpcvalidate
24AdministrativeBackup: sbtread
25AdministrativeBackup: sbtread2
26AdministrativeBackup: sbtremove
27AdministrativeBackup: sbtremove2
28AdministrativeBackup: sbtrestore
29AdministrativeBackup: sbtwrite
30AdministrativeBackup: sbtwrite2
31AdministrativeJS coord start wait
32AdministrativeJS kgl get object wait
33AdministrativeJS kill job wait
34Administrativealter rbs offline
35Administrativealter system set dispatcherwaited
36Administrativebuffer pool resizebuffer pool idcurrent sizenew size
37Administrativeenq: DB - contentionname_modeEnqMode0
38Administrativeenq: TW - contentionname_mode0operation
39Administrativeenq: ZG - contentionname_modefile group idversion id
40Administrativeindex (re)build online cleanupobjectmodewait
41Administrativeindex (re)build online mergeobjectmodewait
42Administrativeindex (re)build online startobjectmodewait
43Administrativemultiple dbwriter suspend/resume for file offline
44Administrativeswitch logfile command
45Administrativeswitch undo - offline
46Administrativewait for possible quiesce finish
47ApplicationSQL*Net break/reset to clientdriver idbreak?
48ApplicationSQL*Net break/reset to dblinkdriver idbreak?
49ApplicationStreams capture: filter callback waiting for ruleset
50ApplicationStreams: apply reader waiting for DDL to applysleep time
51ApplicationWait for Table Lock
52Applicationenq: KO - fast object checkpointname_mode20
53Applicationenq: PW - flush prewarm buffersname_mode00
54Applicationenq: RO - contentionname_mode20
55Applicationenq: RO - fast object reusename_mode20
56Applicationenq: TM - contentionname_modeobject #table/partition
57Applicationenq: TX - row lock contentionname_modeusn<<16 _ slotsequence
58Applicationenq: UL - contentionname_modeid0
59ClusterASM PST query : wait for PMgrp0 grant
60ClusterStreams: RAC waiting for inter instance ack
61Clustergc assumele
62Clustergc block recovery requestfile#block#class#
63Clustergc buffer busyfile#block#id#
64Clustergc claim
65Clustergc cr block 2-way
66Clustergc cr block 3-way
67Clustergc cr block busy
68Clustergc cr block congested
69Clustergc cr block lost
70Clustergc cr block unknown
71Clustergc cr cancelle
72Clustergc cr disk read
73Clustergc cr disk requestfile#block#class#
74Clustergc cr failure
75Clustergc cr grant 2-way
76Clustergc cr grant busy
77Clustergc cr grant congested
78Clustergc cr grant unknown
79Clustergc cr multi block requestfile#block#class#
80Clustergc cr requestfile#block#class#
81Clustergc current block 2-way
82Clustergc current block 3-way
83Clustergc current block busy
84Clustergc current block congested
85Clustergc current block lost
86Clustergc current block unknown
87Clustergc current cancelle
88Clustergc current grant 2-way
89Clustergc current grant busy
90Clustergc current grant congested
91Clustergc current grant unknown
92Clustergc current multi block requestfile#block#id#
93Clustergc current requestfile#block#id#
94Clustergc current retry
95Clustergc current split
96Clustergc domain validationfile#block#class#
97Clustergc freelist
98Clustergc prepare
99Clustergc quiesce wait
100Clustergc recovery free
101Clustergc recovery quiesce
102Clustergc remasterfile#block#class#
103Clusterlock remastering
104Clusterpi renounce write completefile#block#
105Clusterretry contact SCN lock master
106Commitlog file syncbuffer#
107Concurrencybuffer busy waitsfile#block#class#
108Concurrencycursor: mutex Sidnvaluewhere_sleeps
109Concurrencycursor: mutex Xidnvaluewhere_sleeps
110Concurrencycursor: pin S wait on Xidnvaluewhere_sleeps
111Concurrencyenq: TX - index contentionname_modeusn<<16 _ slotsequence
112Concurrencylatch: In memory undo latchaddressnumbertries
113Concurrencylatch: MQL Tracking Latchaddressnumbertries
114Concurrencylatch: Undo Hint Latchaddressnumbertries
115Concurrencylatch: cache buffers chainsaddressnumbertries
116Concurrencylatch: library cacheaddressnumbertries
117Concurrencylatch: library cache lockaddressnumbertries
118Concurrencylatch: library cache pinaddressnumbertries
119Concurrencylatch: row cache objectsaddressnumbertries
120Concurrencylatch: shared pooladdressnumbertries
121Concurrencylibrary cache load lockobject addresslock address100*mask+namespace
122Concurrencylibrary cache lockhandle addresslock address100*mode+namespace
123Concurrencylibrary cache pinhandle addresspin address100*mode+namespace
124Concurrencylogout restrictor
125Concurrencyos thread startup
126Concurrencypipe puthandle addressrecord lengthtimeout
127Concurrencyresmgr:internal state changelocation
128Concurrencyresmgr:internal state cleanuplocation
129Concurrencyresmgr:sessions to exitlocation
130Concurrencyrow cache lockcache idmoderequest
131Concurrencyrow cache readcache idaddresstimes
132ConfigurationStreams AQ: enqueue blocked on low memory
133ConfigurationStreams capture: resolve low memory condition
134ConfigurationStreams capture: waiting for subscribers to catch up
135Configurationcheckpoint completed
136Configurationenq: HW - contentionname_modetable space #block
137Configurationenq: SQ - contentionname_modeobject #0
138Configurationenq: SS - contentionname_modetablespace #dba
139Configurationenq: ST - contentionname_mode00
140Configurationenq: TX - allocate ITL entryname_modeusn<<16 _ slotsequence
141Configurationfree buffer waitsfile#block#set-id#
142Configurationlatch: redo copyaddressnumbertries
143Configurationlatch: redo writingaddressnumbertries
144Configurationlog buffer space
145Configurationlog file switch (archiving needed)
146Configurationlog file switch (checkpoint incomplete)
147Configurationlog file switch (private strand flush incomplete)
148Configurationlog file switch completion
149Configurationsort segment request
150Configurationstatement suspended, wait error to be cleared
151Configurationundo segment extensionsegment#
152Configurationundo segment tx slotsegment#
153Configurationwait for EMON to process ntfns
154Configurationwrite complete waitsfile#block#
155IdleASM background timer
156IdleDIAG idle waitcomponentwherewait time(millisec)
157IdleEMON idle wait
158IdleHS message to agent
159IdleJS external job
160IdleKSV master wait
161IdleLNS ASYNC archive log
162IdleLNS ASYNC dest activation
163IdleLNS ASYNC end of log
164IdleLogMiner: client waiting for transaction
165IdleLogMiner: slave waiting for activate message
166IdleLogMiner: wakeup event for builder
167IdleLogMiner: wakeup event for preparer
168IdleLogMiner: wakeup event for reader
169IdlePL/SQL lock timerduration
170IdlePX Deq Credit: need buffersleeptime/senderidpassesqref
171IdlePX Deq: Execute Replysleeptime/senderidpasses
172IdlePX Deq: Execution Msgsleeptime/senderidpasses
173IdlePX Deq: Index Merge Closesleeptime/senderidpasses
174IdlePX Deq: Index Merge Executesleeptime/senderidpasses
175IdlePX Deq: Index Merge Replysleeptime/senderidpasses
176IdlePX Deq: Join ACKsleeptime/senderidpasses
177IdlePX Deq: Msg Fragmentsleeptime/senderidpasses
178IdlePX Deq: Par Recov Change Vectorsleeptime/senderidpasses
179IdlePX Deq: Par Recov Executesleeptime/senderidpasses
180IdlePX Deq: Par Recov Replysleeptime/senderidpasses
181IdlePX Deq: Parse Replysleeptime/senderidpasses
182IdlePX Deq: Table Q Normalsleeptime/senderidpasses
183IdlePX Deq: Table Q Samplesleeptime/senderidpasses
184IdlePX Deq: Txn Recovery Replysleeptime/senderidpasses
185IdlePX Deq: Txn Recovery Startsleeptime/senderidpasses
186IdlePX Deq: kdcph_maikdcph_mai
187IdlePX Deq: kdcphc_ackkdcphc_ack
188IdlePX Deque waitsleeptime/senderidpasses
189IdlePX Idle Waitsleeptime/senderidpasses
190IdleSGA: MMAN sleep for component shrinkcomponent idcurrent sizetarget size
191IdleSQL*Net message from clientdriver id#bytes
192IdleSQL*Net message from dblinkdriver id#bytes
193IdleStreams AQ: RAC qmn coordinator idle wait
194IdleStreams AQ: deallocate messages from Streams Pool
195IdleStreams AQ: delete acknowledged messages
196IdleStreams AQ: qmn coordinator idle wait
197IdleStreams AQ: qmn slave idle wait
198IdleStreams AQ: waiting for messages in the queuequeue idprocess#wait time
199IdleStreams AQ: waiting for time management or cleanup tasks
200IdleStreams fetch slave: waiting for txns
201Idleclass slave waitslave id
202Idledispatcher timersleep time
203Idlegcs remote messagewaittimepollevent
204Idleges remote messagewaittimeloopp3
205Idlei/o slave waitmsg ptr
206Idlejobq slave wait
207Idleparallel recovery coordinator waits for cleanup of slaves
208Idlepipe gethandle addressbuffer lengthtimeout
209Idlepmon timerduration
210Idlerdbms ipc messagetimeout
211Idlesingle-task message
212Idlesmon timersleep timefailed
213Idlevirtual circuit statuscircuit#status
214Idlewait for unread message on broadcast channelchannel contextchannel handle
215Idlewait for unread message on multiple broadcast channelschannel contextchannel handle count
216Idlewatchdog main loop
217NetworkARCH wait for flow-control
218NetworkARCH wait for net re-connect
219NetworkARCH wait for netserver detach
220NetworkARCH wait for netserver init 1
221NetworkARCH wait for netserver init 2
222NetworkARCH wait for netserver start
223NetworkARCH wait on ATTACH
224NetworkARCH wait on DETACH
225NetworkARCH wait on SENDREQ
226NetworkLGWR wait on ATTACH
227NetworkLGWR wait on DETACH
228NetworkLGWR wait on LNS
229NetworkLGWR wait on SENDREQ
230NetworkLNS wait on ATTACH
231NetworkLNS wait on DETACH
232NetworkLNS wait on LGWR
233NetworkLNS wait on SENDREQ
234NetworkSQL*Net message to clientdriver id#bytes
235NetworkSQL*Net message to dblinkdriver id#bytes
236NetworkSQL*Net more data from clientdriver id#bytes
237NetworkSQL*Net more data from dblinkdriver id#bytes
238NetworkSQL*Net more data to clientdriver id#bytes
239NetworkSQL*Net more data to dblinkdriver id#bytes
240NetworkTCP Socket (KGAS)
241NetworkTEXT: URL_DATASTORE network wait
242Networkdedicated server timerwait event
243Networkdispatcher listen timersleep time
244OtherARCH wait for archivelog lock
245OtherARCH wait for process death 1
246OtherARCH wait for process death 2
247OtherARCH wait for process death 3
248OtherARCH wait for process death 4
249OtherARCH wait for process death 5
250OtherARCH wait for process start 1
251OtherARCH wait for process start 2
252OtherARCH wait for process start 3
253OtherARCH wait for process start 4
254OtherARCH wait on c/f tx acquire 1
255OtherARCH wait on c/f tx acquire 2
256OtherASM background running
257OtherASM background starting
258OtherASM db client exists
259OtherASM internal hang testtest #
260OtherAWR Flush
261OtherAWR Metric Capture
262OtherBFILE check if exists
263OtherBFILE check if open
264OtherBFILE closure
265OtherBFILE get length
266OtherBFILE get name object
267OtherBFILE get path object
268OtherBFILE internal seek
269OtherBFILE open
270OtherCGS skgxn join retryretry count
271OtherCGS wait for IPC msg
272OtherCluster Suspension wait
273OtherCluster stablization wait
274OtherDBFG waiting for reply
275OtherDBMS_LDAP: LDAP operation
276OtherDFS db file lockfile#
277OtherDFS lock handletype_modeid1id2
278OtherData Guard broker: single instanceData Guard broker: single instance
279OtherData Guard broker: wait upon ORA-12850 errorwaiting for retrying the query to mask ORA-12850 error
280OtherData Guard: process clean up
281OtherData Guard: process exit
282OtherFAL archive wait 1 sec for REOPEN minimum
283OtherGCS lock cancelle
284OtherGCS lock cvt Sgroupobj#block#
285OtherGCS lock cvt Xgroupobj#block#
286OtherGCS lock escgroupobj#block#
287OtherGCS lock esc Xgroupobj#block#
288OtherGCS lock opengroupobj#block#
289OtherGCS lock open Sgroupobj#block#
290OtherGCS lock open Xgroupobj#block#
291OtherGCS recovery lock convertgroupobj#block#
292OtherGCS recovery lock opengroupobj#block#
293OtherGV$: slave acquisition retry wait time
294OtherIPC busy async request
295OtherIPC send completion syncsend count
296OtherIPC wait for name service busy
297OtherIPC waiting for OSD resources
298OtherKJC: Wait for msg sends to completemsgdest_rcvrmtype
299OtherKupp process shutdownnalivesleeptimeloop
300OtherL1 validationseghdrl1bmb
301OtherLGWR simulation latency wait
302OtherLGWR wait for redo copycopy latch #
303OtherLGWR wait on full LNS buffer
304OtherLGWR-LNS wait on channel
305OtherLMON global data update
306OtherLNS simulation latency wait
307OtherLNS wait for LGWR redo
308OtherLogical Standby Apply shutdown
309OtherLogical Standby Terminal Applystage
310OtherLogical Standby dictionary build
311OtherLogical Standby pin transactionxidusnxidsltxidsqn
312OtherMMON (Lite) shutdownprocess#waited
313OtherMMON slave messages
314OtherMRP wait on archivelog archival
315OtherMRP wait on archivelog arrival
316OtherMRP wait on archivelog delay
317OtherMRP wait on process death
318OtherMRP wait on process restart
319OtherMRP wait on process start
320OtherMRP wait on startup clear
321OtherMRP wait on state change
322OtherMRP wait on state n_a
323OtherMRP wait on state reset
324OtherOLAP Aggregate Client Deqsleeptime/senderidpasses
325OtherOLAP Aggregate Client Enqsleeptime/senderidpasses
326OtherOLAP Aggregate Master Deqsleeptime/senderidpasses
327OtherOLAP Aggregate Master Enqsleeptime/senderidpasses
328OtherOLAP Null PQ Reasonsleeptime/senderidpasses
329OtherOLAP Parallel Temp Grewsleeptime/senderidpasses
330OtherOLAP Parallel Temp Grow Requestsleeptime/senderidpasses
331OtherOLAP Parallel Temp Grow Waitsleeptime/senderidpasses
332OtherOLAP Parallel Type Deqsleeptime/senderidpasses
333OtherPMON to cleanup pseudo-branches at svc stop time
334OtherPX Deq Credit: free buffersleeptime/senderidpassesqref
335OtherPX Deq Credit: send blkdsleeptime/senderidpassesqref
336OtherPX Deq: OLAP Update Closesleeptime/senderidpasses
337OtherPX Deq: OLAP Update Executesleeptime/senderidpasses
338OtherPX Deq: OLAP Update Replysleeptime/senderidpasses
339OtherPX Deq: Signal ACKsleeptime/senderidpasses
340OtherPX Deq: Table Q Closesleeptime/senderidpasses
341OtherPX Deq: Table Q Get Keyssleeptime/senderidpasses
342OtherPX Deq: Table Q qrefsleeptime/senderidpasses
343OtherPX Deq: Test for msgsleeptime/senderidpasses
344OtherPX Deq: reap credit
345OtherPX Nsq: PQ descriptor query
346OtherPX Nsq: PQ load info query
347OtherPX Send Wait
348OtherPX create servernserverssleeptimeenqueue
349OtherPX qref latchfunctionsleeptimeqref
350OtherPX server shutdownnalivesleeptimeloop
351OtherPX signal serverserialerrornbusy
352OtherPX slave connection
353OtherPX slave release
354OtherRF - FSFO Wait for Ack
355OtherRFS announce
356OtherRFS attach
357OtherRFS close
358OtherRFS create
359OtherRFS detach
360OtherRFS dispatch
361OtherRFS ping
362OtherRFS register
363OtherRVWR wait for flashback copycopy latch #
364OtherReplication Dequeuesleeptime/senderidpasses
365OtherSGA: allocation forcing component growth
366OtherSGA: sga_target resize
367OtherStreams AQ: enqueue blocked due to flow control
368OtherStreams AQ: qmn coordinator waiting for slave to start
369OtherStreams AQ: waiting for busy instance for instance_namewherewait_count
370OtherStreams capture: waiting for archive log
371OtherStreams capture: waiting for database startup
372OtherSync ASM rebalance
373OtherWait for TT enqueuetsn
374OtherWait for shrink lockobject_idlock_mode
375OtherWait for shrink lock2object_idlock_mode
376OtherWait on stby instance close
377Otheraffinity expansion in replay
378Otherblock change tracking buffer space
379Otherbuffer busygroup#obj#block#
380Otherbuffer deadlockdbaclass*10+modeflag
381Otherbuffer dirty disabledgroup#
382Otherbuffer exterminatefile#block#buf_ptr
383Otherbuffer freelistbusygroup#obj#block#
384Otherbuffer invalidation waitgroup#obj#block#
385Otherbuffer latchlatch addrchain#
386Otherbuffer rememberlist busygroup#obj#block#
387Otherbuffer resize
388Otherbuffer write waitgroup#obj#block#
389Otherbuffer writeList fullgroup#obj#block#
390Otherchange tracking file parallel writeblocksrequests
391Otherchange tracking file synchronous readblock#blocks
392Otherchange tracking file synchronous writeblock#blocks
393Othercheck CPU wait times
394Othercheckpoint advancedgroup#
395Othercleanup of aborted processlocation
396Othercontrol file diagnostic dumptypeparam
397Othercontrol file heartbeat
398Othercr request retryfile#block#
399Othercursor: pin Sidnvaluewhere_sleeps
400Othercursor: pin Xidnvaluewhere_sleeps
401Otherdebugger command
402Otherdispatcher shutdownwaited
403Otherdma prepare busygroupobj#block#
404Otherdupl. cluster keydba
405Otherenq: AD - allocate AUname_modegroup and disk numberAU number
406Otherenq: AD - deallocate AUname_modegroup and disk numberAU number
407Otherenq: AF - task serializationname_modetask id0
408Otherenq: AG - contentionname_modeworkspace #generation
409Otherenq: AM - client registrationname_modeid1id2
410Otherenq: AM - rollback COD reservationname_modeid1id2
411Otherenq: AM - shutdownname_modeid1id2
412Otherenq: AO - contentionname_modeworkspace #object #
413Otherenq: AS - modify servicename_mode00
414Otherenq: AS - service activationname_mode00
415Otherenq: AT - contentionname_mode00
416Otherenq: AU - audit index filename_modeXML audit index file0
417Otherenq: AW - AW generation lockname_modeoperationworkspace #
418Otherenq: AW - AW state lockname_modeoperationworkspace #
419Otherenq: AW - AW$ table lockname_modeoperationworkspace #
420Otherenq: AW - user access for AWname_modeoperationworkspace #
421Otherenq: BF - allocation contentionname_modenode#/parallelizer#bloom#
422Otherenq: BR - file shrinkname_modeoperationfile #
423Otherenq: BR - proxy-copyname_modeoperationfile #
424Otherenq: CF - contentionname_mode0operation
425Otherenq: CI - contentionname_modeopcodetype
426Otherenq: CL - compare labelsname_modeobject #0
427Otherenq: CL - drop labelname_modeobject #0
428Otherenq: CM - gatename_modedisk group #type
429Otherenq: CM - instancename_modedisk group #type
430Otherenq: CN - race with initname_modereg id0
431Otherenq: CN - race with regname_modereg id0
432Otherenq: CN - race with txnname_modereg id0
433Otherenq: CT - CTWR process start/stopname_modeoperationoperation parm
434Otherenq: CT - change stream ownershipname_modeoperationoperation parm
435Otherenq: CT - global space managementname_modeoperationoperation parm
436Otherenq: CT - local space managementname_modeoperationoperation parm
437Otherenq: CT - readingname_modeoperationoperation parm
438Otherenq: CT - statename_modeoperationoperation parm
439Otherenq: CT - state change gate 1name_modeoperationoperation parm
440Otherenq: CT - state change gate 2name_modeoperationoperation parm
441Otherenq: CU - contentionname_modehandlehandle
442Otherenq: DD - contentionname_modedisk grouptype
443Otherenq: DF - contentionname_mode0file #
444Otherenq: DG - contentionname_modedisk grouptype
445Otherenq: DL - contentionname_modeobject #0
446Otherenq: DM - contentionname_modetypetype
447Otherenq: DN - contentionname_mode00
448Otherenq: DP - contentionname_mode00
449Otherenq: DR - contentionname_mode00
450Otherenq: DS - contentionname_mode00
451Otherenq: DT - contentionname_mode00
452Otherenq: DV - contentionname_modeobject #0
453Otherenq: DX - contentionname_modetransaction entry #0
454Otherenq: FA - access filename_modedisk group numberfile number
455Otherenq: FB - contentionname_modetablespace #dba
456Otherenq: FC - open an ACD threadname_modedisk groupthread
457Otherenq: FC - recover an ACD threadname_modedisk groupthread
458Otherenq: FD - Flashback coordinatorname_modeInternalInternal
459Otherenq: FD - Flashback on/offname_modeInternalInternal
460Otherenq: FD - Marker generationname_modeInternalInternal
461Otherenq: FD - Restore point create/dropname_modeInternalInternal
462Otherenq: FD - Tablespace flashback on/offname_modeInternalInternal
463Otherenq: FG - FG redo generation enq racename_modedisk grouptype
464Otherenq: FG - LGWR redo generation enq racename_modedisk grouptype
465Otherenq: FG - serialize ACD relocatename_modedisk grouptype
466Otherenq: FL - Flashback database logname_modeLog #zero
467Otherenq: FL - Flashback db commandname_modeLog #zero
468Otherenq: FM - contentionname_mode00
469Otherenq: FP - global fob contentionname_modelow file obj addhigh file obj add
470Otherenq: FR - contentionname_modedisk groupunused
471Otherenq: FS - contentionname_mode0type
472Otherenq: FT - allow LGWR writesname_modedisk groupthread
473Otherenq: FT - disable LGWR writesname_modedisk groupthread
474Otherenq: FU - contentionname_mode00
475Otherenq: HD - contentionname_modedisk group0
476Otherenq: HP - contentionname_modetablespace #dba
477Otherenq: HQ - contentionname_modeobject #hash value
478Otherenq: HV - contentionname_modeobject #0
479Otherenq: IA - contentionname_mode00
480Otherenq: ID - contentionname_mode00
481Otherenq: IL - contentionname_modeobject #0
482Otherenq: IM - contention for blrname_modepool #0
483Otherenq: IR - contentionname_mode00/1
484Otherenq: IR - contention2name_mode00/1
485Otherenq: IS - contentionname_mode0type
486Otherenq: IT - contentionname_modeobject #0
487Otherenq: JD - contentionname_mode00
488Otherenq: JI - contentionname_modeview object #0
489Otherenq: JQ - contentionname_mode00
490Otherenq: JS - contentionname_modeservice IDqueue type
491Otherenq: JS - evt notifyname_modeservice IDqueue type
492Otherenq: JS - evtsub addname_modeservice IDqueue type
493Otherenq: JS - evtsub dropname_modeservice IDqueue type
494Otherenq: JS - job recov lockname_modeservice IDqueue type
495Otherenq: JS - job run lock - synchronizename_modeservice IDqueue type
496Otherenq: JS - q mem clnup lckname_modeservice IDqueue type
497Otherenq: JS - queue lockname_modeservice IDqueue type
498Otherenq: JS - sch locl enqsname_modeservice IDqueue type
499Otherenq: JS - wdw opname_modeservice IDqueue type
500Otherenq: KK - contextname_mode0redo thread
501Otherenq: KM - contentionname_modetypetype
502Otherenq: KP - contentionname_mode00
503Otherenq: KT - contentionname_modeplan #0
504Otherenq: MD - contentionname_modemaster object #0
505Otherenq: MH - contentionname_mode00
506Otherenq: MK - contentionname_mode00
507Otherenq: ML - contentionname_mode00
508Otherenq: MN - contentionname_modesession ID0
509Otherenq: MR - contentionname_mode0 or file #type
510Otherenq: MS - contentionname_modemaster object #0
511Otherenq: MW - contentionname_modeSchedule Id0
512Otherenq: OC - contentionname_mode12
513Otherenq: OL - contentionname_modehash value0
514Otherenq: OQ - xsoq*histrecbname_moderesource id0
515Otherenq: OQ - xsoqhiAllocname_moderesource id0
516Otherenq: OQ - xsoqhiClosename_moderesource id0
517Otherenq: OQ - xsoqhiFlushname_moderesource id0
518Otherenq: OQ - xsoqhistrecbname_moderesource id0
519Otherenq: OW - initializationname_mode00
520Otherenq: OW - terminationname_mode00
521Otherenq: PD - contentionname_modeproperty namekey hash
522Otherenq: PE - contentionname_modeparno0
523Otherenq: PF - contentionname_mode00
524Otherenq: PG - contentionname_mode00
525Otherenq: PH - contentionname_mode00
526Otherenq: PI - contentionname_modeoperationserial #
527Otherenq: PL - contentionname_mode00
528Otherenq: PR - contentionname_mode00
529Otherenq: PS - contentionname_modeinstanceslave ID
530Otherenq: PT - contentionname_modedisk group #type
531Otherenq: PV - syncshutname_mode00
532Otherenq: PV - syncstartname_mode00
533Otherenq: PW - perwarm status in dbw0name_mode00
534Otherenq: RB - contentionname_modedisk group0
535Otherenq: RF - RF - Database Automatic Disablename_modelock operationlock value
536Otherenq: RF - RF - FSFO Observedname_modelock operationlock value
537Otherenq: RF - RF - FSFO connectivityname_modelock operationlock value
538Otherenq: RF - RF - FSFO statename_modelock operationlock value
539Otherenq: RF - RF - FSFO synchronizationname_modelock operationlock value
540Otherenq: RF - RF - FSFO waitname_modelock operationlock value
541Otherenq: RF - atomicityname_modelock operationlock value
542Otherenq: RF - new AIname_modelock operationlock value
543Otherenq: RF - synch: DG Broker metadataname_modelock operationlock value
544Otherenq: RF - synchronization: HC mastername_modelock operationlock value
545Otherenq: RF - synchronization: aifo mastername_modelock operationlock value
546Otherenq: RF - synchronization: chiefname_modelock operationlock value
547Otherenq: RF - synchronization: critical ainame_modelock operationlock value
548Otherenq: RN - contentionname_modethread numberlog number
549Otherenq: RP - contentionname_modefile #1 or block
550Otherenq: RS - file deletename_moderecord typerecord id
551Otherenq: RS - persist alert levelname_moderecord typerecord id
552Otherenq: RS - prevent aging list updatename_moderecord typerecord id
553Otherenq: RS - prevent file deletename_moderecord typerecord id
554Otherenq: RS - read alert levelname_moderecord typerecord id
555Otherenq: RS - record reusename_moderecord typerecord id
556Otherenq: RS - write alert levelname_moderecord typerecord id
557Otherenq: RT - contentionname_moderedo threadtype
558Otherenq: RU - contentionname_mode00
559Otherenq: RU - waitingname_mode00
560Otherenq: RW - MV metadata contentionname_modetable obj#0
561Otherenq: SB - contentionname_mode00
562Otherenq: SE - contentionname_modeSession-idSerial#
563Otherenq: SF - contentionname_mode00
564Otherenq: SH - contentionname_mode00
565Otherenq: SI - contentionname_modeobject #0
566Otherenq: SK - contentionname_modetablespace #dba
567Otherenq: SR - contentionname_modeoperationsequence # / apply #
568Otherenq: SU - contentionname_modetable space #0
569Otherenq: SW - contentionname_mode00
570Otherenq: TA - contentionname_modeoperationundo segment # / other
571Otherenq: TB - SQL Tuning Base Cache Loadname_mode12
572Otherenq: TB - SQL Tuning Base Cache Updatename_mode12
573Otherenq: TC - contentionname_modecheckpoint ID0
574Otherenq: TC - contention2name_modecheckpoint ID0
575Otherenq: TD - KTF dump entriesname_mode00
576Otherenq: TE - KTF broadcastname_mode00
577Otherenq: TF - contentionname_modetablespace #relative file #
578Otherenq: TL - contentionname_mode00
579Otherenq: TO - contentionname_modeobject #1
580Otherenq: TQ - DDL contentionname_modeQT_OBJ#0
581Otherenq: TQ - INI contentionname_modeQT_OBJ#0
582Otherenq: TQ - TM contentionname_modeQT_OBJ#0
583Otherenq: TS - contentionname_modetablespace IDdba
584Otherenq: TT - contentionname_modetablespace IDoperation
585Otherenq: TX - contentionname_modeusn<<16 _ slotsequence
586Otherenq: US - contentionname_modeundo segment #0
587Otherenq: WA - contentionname_mode00
588Otherenq: WF - contentionname_mode00
589Otherenq: WL - contentionname_modelog # / thread id #sequence #
590Otherenq: WP - contentionname_mode00
591Otherenq: WR - contentionname_modethread id #sequence #
592Otherenq: XH - contentionname_mode00
593Otherenq: XQ - recoveryname_modedisk group #unused
594Otherenq: XQ - relocationname_modedisk group #unused
595Otherenq: XR - database force loggingname_modeoperation0
596Otherenq: XR - quiesce databasename_modeoperation0
597Otherenq: XY - contentionname_modeid1id2
598Otherevents in waitclass Other
599Otherextent map load/unlockgroupfileextent
600Otherflashback buf free by RVWR
601Otherflashback free VI log
602Otherflashback log switch
603Otherfree global transaction table entrytries
604Otherfree process state object
605Othergcs ddet enter server mode
606Othergcs domain validationcluincrcvinc
607Othergcs drm freeze begin
608Othergcs drm freeze in enter server mode
609Othergcs enter server mode
610Othergcs log flush syncwaittimepollevent
611Othergcs remastering wait for read latch
612Othergcs remastering wait for write latch
613Othergcs resource directory to be unfrozen
614Othergcs to be enabled
615Otherges LMD suspend for testing event
616Otherges LMD to inherit communication channels
617Otherges LMD to shutdown
618Otherges LMON for send queues
619Otherges LMON to get to FTDONE
620Otherges LMON to join CGS group
621Otherges cached resource cleanupwaittime
622Otherges cancel
623Otherges cgs registrationwhere
624Otherges enter server mode
625Otherges generic event
626Otherges global resource directory to be frozen
627Otherges inquiry responsetype_mode_whereid1id2
628Otherges lmd and pmon to attach
629Otherges lmd/lmses to freeze in rcfg - mrcvr
630Otherges lmd/lmses to unfreeze in rcfg - mrcvr
631Otherges master to get established for SCN op
632Otherges performance test completion
633Otherges pmon to exit
634Otherges process with outstanding i/opid
635Otherges reconfiguration to start
636Otherges resource cleanout during enqueue open
637Otherges resource cleanout during enqueue open-cvt
638Otherges resource directory to be unfrozen
639Otherges retry query node
640Otherges reusing os pidpidcount
641Otherges user errorerror
642Otherges wait for lmon to be ready
643Otherges1 LMON to wake up LMD - mrcvr
644Otherges2 LMON to wake up LMD - mrcvr
645Otherges2 LMON to wake up lms - mrcvr 2
646Otherges2 LMON to wake up lms - mrcvr 3
647Otherges2 proc latch in rm latch get 1
648Otherges2 proc latch in rm latch get 2
649Otherglobal cache busygroupfile#block#
650Otherglobal enqueue expand wait
651Otherimm opmsg ptr
652Otherinactive sessionsession#waited
653Otherinactive transaction branchbranch#waited
654Otherindex block splitrootdbalevelchilddba
655Otherinstance state changelayervaluewaited
656Otherjob scheduler coordinator slave wait
657Otherjobq slave TJ process wait
658Otherjobq slave shutdown wait
659Otherkcbzps
660Otherkcrrrcp
661Otherkdic_do_merge
662Otherkfcl: instance recoverygroupobj#block#
663Otherkgltwait
664Otherkjbdomalc allocate recovery domain - retry
665Otherkjbdrmcvtq lmon drm quiesce: ping completion
666Otherkjbopen wait for recovery domain attach
667Otherkjctcisnd: Queue/Send client message
668Otherkjctssqmg: quick message send wait
669Otherkjudomatt wait for recovery domain attach
670Otherkjudomdet wait for recovery domain detach
671Otherkjxgrtest
672Otherkkdlgon
673Otherkkdlhpon
674Otherkkdlsipon
675Otherkksfbc child completion
676Otherkksfbc research
677Otherkkshgnc reloop
678Otherkksscl hash split
679Otherknpc_acwm_AwaitChangedWaterMark
680Otherknpc_anq_AwaitNonemptyQueue
681Otherknpsmai
682Otherksbcic
683Otherksbsrv
684Otherksdxexeother
685Otherksdxexeotherwait
686Otherksim generic wait eventwherewait_count
687Otherksqded
688Otherksv slave avail wait
689Otherksxr poll remote instances
690Otherksxr wait for mount shared
691Otherktfbtgextsn
692Otherktm: instance recoveryundo segment#
693Otherktsambl
694Otherkttm2d
695Otherkupp process wait
696Otherkxfxsekxfxse debug wait: stalling for slave 0
697Otherkxfxspkxfxsp debug wait: stalling for slave 0
698Otherlatch activityaddressnumberprocess#
699Otherlatch freeaddressnumbertries
700Otherlatch: Change Notification Hash table latchaddressnumbertries
701Otherlatch: KCL gc element parent latchaddressnumbertries
702Otherlatch: cache buffer handlesaddressnumbertries
703Otherlatch: cache buffers lru chainaddressnumbertries
704Otherlatch: checkpoint queue latchaddressnumbertries
705Otherlatch: enqueue hash chainsaddressnumbertries
706Otherlatch: gcs resource hashaddressnumbertries
707Otherlatch: ges resource hash listaddressnumbertries
708Otherlatch: messagesaddressnumbertries
709Otherlatch: object queue header heapaddressnumbertries
710Otherlatch: object queue header operationaddressnumbertries
711Otherlatch: parallel query alloc bufferaddressnumbertries
712Otherlatch: redo allocationaddressnumbertries
713Otherlatch: session allocationaddressnumbertries
714Otherlatch: undo global dataaddressnumbertries
715Otherlatch: virtual circuit queuesaddressnumbertries
716Otherlibrary cache revalidation
717Otherlibrary cache shutdown
718Otherlisten endpoint statusend-point#status
719Otherlms flush message acksloctries
720Otherlock closegrouplms#
721Otherlock deadlock retry
722Otherlock escalate retry
723Otherlock release pendinggroupfile#block#
724Otherlog file switch (clearing log file)
725Otherlog switch/archivethread#
726Otherlog write(even)group#
727Otherlog write(odd)group#
728Othermaster exitalive slaves
729Othername-service call waitwaittime
730Otherno free buffersgroup#obj#block#
731Otherno free locks
732Othernull event
733Otheropishd
734Otheroptimizer stats update retry
735Otherpending global transaction(s)scans
736Otherprewarm transfer retry
737Otherprior spawner clean upprocess_pidprocess_sno
738Otherprocess shutdowntypeprocess#waited
739Otherprocess startuptypeprocess#waited
740Otherprocess terminate
741Otherqerex_gdml
742Otherqueue slave messages
743Otherrdbms ipc message block
744Otherrdbms ipc replyfrom_processtimeout
745Otherrecovery area: computing applied logs
746Otherrecovery area: computing backed up files
747Otherrecovery area: computing dropped files
748Otherrecovery area: computing identical files
749Otherrecovery area: computing obsolete files
750Otherreliable messagechannel contextchannel handlebroadcast message
751Otherrfi_drcx_site_delDRCX waiting for site to delete metadata
752Otherrfi_insv_shutwait for INSV to shutdown
753Otherrfi_insv_startwait for INSV to start
754Otherrfi_nsv_deldefNSVx to defer delete response message post to DMON
755Otherrfi_nsv_md_closeNSVx metadata file close wait
756Otherrfi_nsv_md_writeNSVx metadata file write wait
757Otherrfi_nsv_postdefNSVx to defer message post to DMON
758Otherrfi_nsv_shutwait for NSVx to shutdown
759Otherrfi_nsv_startwait for NSVx to start
760Otherrfi_recon1letting site register with its local listener before connect ret
761Otherrfi_recon2retrying connection for sending to remote DRCX
762Otherrfm_dmon_last_gaspDMON waiting on the last gasp event
763Otherrfm_dmon_pdeferDMON phase deferral wait
764Otherrfm_dmon_shutwait for DMON to shutdown
765Otherrfm_dmon_timeout_opDMON waiting to timeout an operation
766Otherrfm_pmon_dso_stallPMON delete state object stall
767Otherrfrdb_dbopwaiting for database to be opened
768Otherrfrdb_recon1reconnecting back to new primary site during standby viability c
769Otherrfrdb_recon2waiting for standby database to be mounted
770Otherrfrdb_try235waiting for retrying the query to mask ORA-235 error
771Otherrfrla_lapp1waiting for logical apply engine to initialize
772Otherrfrla_lapp2checking for logical apply engine run-down progress
773Otherrfrla_lapp3waiting for new primary to initialize tables
774Otherrfrla_lapp4waiting for v$logstdby_stats view to be initialized
775Otherrfrla_lapp5waiting to reconnect to primary that is in BUILD_UP
776Otherrfrld_rhmrpwaitwaiting for MRP0 to stop while reinstating old primary to logica
777Otherrfrm_dbclRSM notifier: waiting for sql latch on db close
778Otherrfrm_dbopRSM notifier: waiting for sql latch on db open
779Otherrfrm_nonzero_sub_countwait for subscriber count to become nonzero
780Otherrfrm_rsm_shutwait for RSMx processes to shutdown
781Otherrfrm_rsm_so_attachwait for RSMx to attach to state object
782Otherrfrm_rsm_startwait for RSMx processes to start
783Otherrfrm_stallRSM stall due to event RSM_STALL
784Otherrfrm_zero_sub_countwait for subscriber count to become zero
785Otherrfrpa_mrpdnwaiting for MRP0 to stop while bringing physical apply engine of
786Otherrfrpa_mrpupwaiting for MRP0 to start while bringing physical apply engine o
787Otherrfrxpt_pdlwaiting for retrying potential dataloss calculation before switc
788Otherrfrxptarcurlogwaiting for logical apply engine to finish initialization
789Otherrollback operations activeoperation count
790Otherrollback operations block fullmax operations
791Otherrolling migration: cluster quiescelocationwaits
792Otherscginq AST call
793Othersecondary eventevent #wait time
794Otherselect wait
795Otherset director factor wait
796Othersimulated log write delay
797Otherslave exitnalivesleeptimeloop
798Othertest long ops
799Othertimer in sksawat
800Othertransactionundo seg#_slot#wrap#count
801Othertsm with timeout
802Othertxn to complete
803Otherunbound tx
804Otherundo segment recoverysegment#tx flags
805Otherundo_retention publish retrywhereretry_count
806Otherunspecified wait event
807Otherwait active processes
808Otherwait for EMON to die
809Otherwait for EMON to spawn
810Otherwait for FMON to come up
811Otherwait for MTTR advisory state object
812Otherwait for a paralle reco to abort
813Otherwait for a undo record
814Otherwait for another txn - rollback to savepoint
815Otherwait for another txn - txn abort
816Otherwait for another txn - undo rcv abort
817Otherwait for assert messages to be sent
818Otherwait for change
819Otherwait for master scnwaittimestartscnackscn
820Otherwait for membership synchronization
821Otherwait for message ack
822Otherwait for record update
823Otherwait for rr lock release
824Otherwait for scn ackpending_ndscnwrpscnbas
825Otherwait for split-brain resolution
826Otherwait for stopper event to be increased
827Otherwait for sync ackcluincpending_nd
828Otherwait for tmc2 to complete
829Otherwait for verification ackcluincpending_insts
830Otherwait for votes
831Otherwait list latch activityaddressnumberprocess#
832Otherwait list latch freeaddressnumbertries
833Otherwaiting to get CAS latch
834Otherwaiting to get RM CAS latch
835Otherwrites stopped by instance recovery or database suspensionby thread#our thread#
836Schedulerresmgr:become activelocation
837Schedulerresmgr:cpu quantumlocation
838System I/OARCH random i/o
839System I/OARCH sequential i/o
840System I/OARCH wait for pending I/Os
841System I/OLGWR random i/o
842System I/OLGWR sequential i/o
843System I/OLNS ASYNC control file txn
844System I/OLog archive I/Ocountintrtimeout
845System I/ORFS random i/o
846System I/ORFS sequential i/o
847System I/ORFS write
848System I/ORMAN backup & recovery I/Ocountintrtimeout
849System I/OStandby redo I/Ocountintrtimeout
850System I/Ocontrol file parallel writefilesblock#requests
851System I/Ocontrol file sequential readfile#block#blocks
852System I/Ocontrol file single writefile#block#blocks
853System I/Odb file parallel writerequestsinterrupttimeout
854System I/Oio donemsg ptr
855System I/Okfk: async disk IOcountintrtimeout
856System I/Oksfd: async disk IOcountintrtimeout
857System I/Okst: async disk IOcountintrtimeout
858System I/Olog file parallel writefilesblocksrequests
859System I/Olog file sequential readlog#block#blocks
860System I/Olog file single writelog#block#blocks
861System I/Orecovery read
862User I/OBFILE read
863User I/ODG Broker configuration file I/Ocountintrtimeout
864User I/OData file init writecountintrtimeout
865User I/ODatapump dump file I/Ocountintrtimeout
866User I/OLog file init writecountintrtimeout
867User I/Obuffer read retryfile#block#
868User I/Odb file parallel readfilesblocksrequests
869User I/Odb file scattered readfile#block#blocks
870User I/Odb file sequential readfile#block#blocks
871User I/Odb file single writefile#block#blocks
872User I/Odbms_file_transfer I/Ocountintrtimeout
873User I/Odirect path readfile numberfirst dbablock cnt
874User I/Odirect path read tempfile numberfirst dbablock cnt
875User I/Odirect path writefile numberfirst dbablock cnt
876User I/Odirect path write tempfile numberfirst dbablock cnt
877User I/Olocal write waitfile#block#
878User I/Oread by other sessionfile#block#class#
  • 대기 이벤트를 시스템 커널 레벨에서 표현
    • 프로세스가 할 일을 모두 마쳤거나 다른 프로세스를 기다려야 하는 상황에서 CPU를 쥔 채 대기하면 불필요하게 CPY 자원을 낭비하므로
      CPU를 OS에 반환하고 Sleep 상태로 빠지는 것을 말함.
    • 수면에 빠진다는 것은 프로세스가 'wait queue'로 옮겨지는 것을 말하며, 'wait queue'에 놓인 프로세스에게는 CPY를 할당해 줄 필요가
      없으므로 OS는 해당 프로세스를 스케쥴링 대상에서 제외시킴
    • 선행 프로세스가 일을 마치면 OS에게 그 사실을 알려 자신을 기다리던 수면 상태의 프로세스를 깨우도록 신호를 보냄(interrupted)
      그러면 OS는 그 프로세스를 'runnable queue'에 옮김으로써 가능한 한 빨리 CPY를 할다 받아 일을 재개할 수 있도록 스케쥴링 함.
  • 유닉스에서 vmstat 유틸리티를 통해 시스템 상황을 모니터링 한 결과

> vmstat -t 60 1000

  • vmstat 명령어
    • 서버의 가상 메모리 통계정보를 보기위한 명령어
    • vmstat 명령은 커널 스레드, 가상 메모리, 디스크, 트랩 및 CPU 활동에 대한 통계를 보고함.
    • vmstat 명령으로 작성된 보고서는 시스템 로드 활동의 균형을 유지하는 데 사용될 수 있으며
      이 시스템 전반에 대한 통계(모든 프로세서 중에서의 통계)는 비율로 표시된 값의 평균 또는 합계로 계산됨.
    • 구문

vmstat [ -f ] [ -i ] [ -s ] [ -I ] [ -t ] [ -v ] [ -w] [ -l ] [ { -p | -P } pagesize | ALL ] ALL ] [ PhysicalVolume ... ] [ Interval [ Count ] ]

-t   : 출력의 각 행 다음에 시간 소인을 출력하며 시간 소인은 HH:MM:SS 형식으로 표시됨
60   : 60초 간격으로 출력하도록 함
1000 : 한번에 1000개의 로우를 출력하도록 함

  • 출력 결과
rbavmfrerepipofrsrcyinsycsussyidwahr mi se
7243132936200000051862771605546409411403740684508:48:06
7263137616206201073894736105787427441765641884308:49:06
9333145090208101070473757305813579152022843954408:50:06
7553140985971201091425183508203393442042837925208:51:06
7523152171200101083965135607999406042029636925308:52:06
  • 항목 설명
대분류소분류설명
kthrr현재 일을 수행 중이거나 runnable queue에서 CPU 리소스를 기다리는 프로세스 개수
b샘플 간격을 통해 VMM 대기행렬에서 대기 중인 커널 스레드의 평균 개수(대기 중인 자원, 대기 중인 입출력)
memoryavm사용 중인 가상 페이지
fre사용 가능 리스트의 크기(실제 메모리의 많은 부분이 파일 시스템 데이터를 위한 캐쉬로 이용되며 사용 가능 리스트 크기의 양이 적게 남는 일은 드뭄)
pagere호출기 입출력 리스트
pi페이징 공간에서 들어오는 페이지
po페이징 공간으로 나가는 페이지
fr사용 가능 페이지(페이지 교체)
sr페이지 교체 알고리즘에 의해 스캔되는 페이지
cy페이지 교체 알고리즘에 의한 시간 주기
faultsin장치 인터럽트
sy시스템 호출
cs커널 스레드 문맥 전환
cpuus사용자 시간
sy시스템 시간
idCPU 유휴 시간
wa시스템이 미결 디스크/NFS 입출력 요청을 보유하는 동안의 CPU 유휴 시간
timehr mi ss시분초

2. 대기 이벤트는 언제 발생하나?

1. 자신이 필요로 하는 특정 리소스가 다른 프로세스에 의해 사용중일 때

  • 자신이 읽으려는 버퍼에 다른 프로세스가 쓰기 작업을 진행 중이라면 선행 프로세스가 일을 마칠 때까지 기다려야 하며
    'buffer busy waits', 'latch free', 'enqueue' 이벤트 등이 여기에 속함

2. 다른 프로세스에 의해 선행작업이 완료되기를 기다릴 때

  • DBWR가 Dirty 버퍼를 디스크에 기록할 때, 먼저 LGWR가 로그 버퍼에 있는 Redo Entry를 Redo Log 파일에 기록하는 작업이
    선행되야 하는데 이 때 DBWR는 LGWR를 깨워 로그 버퍼를 비우라는 신호를 보내고 LGWR가 일을 마칠 때까지 수면 상태에서
    휴식을 취함.
    LGWR가일을 마치면 DBWR를 개ㅜ고 자신은 다시 대기 상태로 빠지며, 'write complete waits', 'checkpoint completed',
    'log file sync', 'log file switch' 이벤트 등이 여기에 속함

3. 할 일이 없을 때(idle 대기 이벤트)

  • 서버 프로세스는 쿼리 결과를 사용자에게 전송하는 동안 Array 단위로 일을 처리하는데, Array 크기만큼 데이터를 전송하면
    다음 Fetch Call을 받을 때까지 기다림. 쿼리 결과집합을 모두 전송하고 나서도 다음 Parse Call 또는 Execute Call을 받을
    때까지 기다리며 'SQL*Net message from client' 등이 여기에 속함

3. 대기 이벤트는 언제 사라지나?

  • 오라클 프로세스가 자신이 작업을 진행할 대 선행 프로세스가 먼저 점유하여 대기 상태에 빠질 경우 선행작업이 끝나고 나서
    자신에게 알려주어 일을 진행하거나, 타이머에 설정된 시간에 깨어나 선행 프로세스가 작업을 모두 마쳤는지 확인할 때 사라짐

1. 대기 상태에 빠진 프로세스가 기다리던 리소스를 사용할 수 있게 될 경우
2. 작업을 계속 진행하기 위한 선행작업이 완료될 경우
3. 해야 할 일이 생겼을 경우

4. 래치와 대기 이벤트 개념 명확화

  • 래치는 공유된 자원을 읽기 위해서는 반드시 획득해야 하기 때문에 래치가 증가한다고 해서 문제가 되진 않음
  • 다만 획득하는 과정에서 다른 프로세스와 경합이 발생되는지를 모니터링 해야 하며 이 때 발생되는 대기 이벤트를 분석해야 함
  • 래치 확인

SELECT *
FROM   (SELECT ADDR,
               LATCH#,
               LEVEL#,
               NAME,
               GETS,
               MISSES,
               SPIN_GETS,
               SLEEPS
        FROM   V$LATCH
        ORDER BY 2)
WHERE  ROWNUM <= 10
;

ADDR             LATCH# LEVEL# NAME                        GETS   MISSES  SPIN_GETS SLEEPS
---------------- ------ ------ ----------------------- -------- -------- ---------- ------
0700000010006FB8      0      8 event range base latch         1        0          0      0
0700000010007058      1      8 post/wait queue             1388       17         17      0
07000000100070F8      2      0 hot latch diags                0        0          0      0
07000000100074D0      3      1 process allocation          1064        0          0      0
0700000010007570      4      5 session allocation      16031367 10427696   10426488   1238
0700000010007618      5      0 session switching           1222        0          0      0
07000000100076B8      6      0 process group creation       926        8          8      0
0700000010007758      7      1 session idle bit          111772       91         91      0
0700000010007808      8      7 client/application info     8554        0          0      0
0700000010007EB0      9      8 longop free list parent    39705        0          0      0
;

항목설명
ADDR래치 오브젝트 주소
LATCH#래치 번호
LEVEL#래치 레벨
NAME래치 이름
GETS래치 요청 횟수
MISSES래치를 요청했는데 다른 프로세스에 의해 자원이 사용 중이어서 첫 번째 시도에서 바로 래치를 얻지 못한 횟수
SPIN_GETS래치를 요청한 첫 번째 시도에서 곧바로 래치를 얻지는 못했지만 이후 spin하는 과정에서 래치 획득에 성공한 횟수
SLEEPS래치를 요청했는데 자원이 사용 중어어서 곧바로 래치를 얻지 못하고 정해진 횟수만큼 계속 spin 했는데도 결국 래치를 얻지 못해 대기 상태로 빠진 횟수.

이때 발생하는 것이 'latch free' 이벤트. 10g 이후부터는 이 이벤트를 세분화하여 'latch : cache buffers chains', 'latch : library cache lock'

문서에 대하여

참고자료

"코어 오라클 데이터베이스 스터디 모임" 에서 2009년에 "오라클 성능 고도화 원리와 해법 I " 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/3010

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입