Vous êtes sur la page 1sur 6

ORACLE ENQUEUE WAITS & CAUSES WITH POSSIBLE ACTIONS TO BE CHECKED OR VERFIED

Lock Type User Lock Wait Event Lock Mode & Type TYPE is TX, REQUEST is 6 Causes Actions Remarks

Enq: Tx Row Lock Contention

Two transactions
simultaneousl access t!e same "ata recor" in c!an#e mo"e$

%in" t!e sessions t!at are conten"in# to c!an#e t!e same &locks & usin# 'ollowin# quer /* col file# for 99999 col block# for 999999 col obj for a18 col type for a9 col lm for 99 col bsid for 9999 */ select count(*) cnt, session_id sid, substr(event,1,30) event, mod(p1,16) as lm, sql_id, CURRE !_"#$% && ' ' && ob(ect_name ob( , o)ob(ect_t*pe t*pe , CURRE !_+,-E% .ile% , CURRE !_#-"C/% bloc0% , bloc0in1_session bsid .rom v2active_session_3istor* as3, all_ob(ects o 43ere event li0e 'enq5 !6' and o)ob(ect_id (7)8 as3)current_ob(% 1roup b* event,session_id,p1,sql_,9,CURRE !_"#$%,"#$EC!_ :;E,"#$EC!_!<=E,CURRE !_+,-E%, CURRE !_#-"C/%, #-"C/, >_?E??," order b* count(*) @ ($ )nce ou i"enti' w!ic! o&*ect it is or t!e S+, eit!er kill or -rocee" to ask t!e a--lication team to commit t!e ori#inal sessions t!at is !ol"in# .$ +' t!e o&*ect is an in"ex, t!at means

User Lock

Enq: Tx Row Lock Contention

TYPE is TX, REQUEST is /

Two transactions c!an#e "ata


recor"s simultaneousl , w!ic! are i"entical in terms o' a unique or -rimar ke constraint$

,ia#nosis Same as a&o0e t!e solution woul" &e To correct t!is -ro&lem, ensure t!at t!e same -rimar ke is not inserte" or c!an#e" re-eate"l in -arallel in a ta&le$ 1'or exam-le, & c!eckin# w!et!er t!e ke alrea" exists2$ +' t!is is not -ossi&le, increase t!e commit3'requenc in or"er to release t!e enqueues a#ain earlier$ 4o"e /, !a--ens 'or 5 reasons ($ Unique ke contention .$ %orei#n 6e contention

ORACLE ENQUEUE WAITS & CAUSES WITH POSSIBLE ACTIONS TO BE CHECKED OR VERFIED
3) #itmap indeA contention

User Lock

enq: TX 3 in"ex contention

TYPE is TX, REQUEST is /

Se0eral ,4L o-erations want


to access t!e same in"ex &lock simultaneousl

+' suc! a 7multi-le requeste"7 in"ex &lock is not in t!e &u''er -ool, it must &e rea" & t!e 'irst transaction 'rom t!e "isk 18"& 'ile sequential rea"82$ T!e ot!er ,4L o-erations wait 'or a TX enqueue "urin# t!is -rocess$ +n"ex 9lock s-lits, +' t!e enqueues occur in a ta&le in connection wit! massi0el -arallel inserts or u-"ates, t!is is usuall a -ro&lem to "o wit! accessin# t!e +ntereste" Transaction List 1+TL2 in t!e lock !ea"er$ T!e solution 'or t!is requires increasin# t!e +:+TR;:S su''icientl , as "escri&e" in :ote </5/< +TL waits 'or -arallel +:SERT o-erations can &e alle0iate" & increasin# t!e %REEL+STs or %REEL+ST =R)UPs, or & switc!in# to ;SS4$

User Lock

enq: TX 3 allocate +TL entr

TYPE is TX, REQUEST is /

Se0eral transactions want to


c!an#e rows 'rom t!e same &lock, &ut cannot 'in" a 'ree entr in t!e +ntereste" Transaction list 1+TL2 in t!e &lock !ea"er$

User Lock

enq: TX 3 row lock contention

TYPE is TX, REQUEST is /

Se0eral ,4L o-erations want


to c!an#e "ata recor"s in t!e same &lock o' a &itma- in"ex$

C!an#es in &itma- in"exes alwa s lea" to t!e w!ole area &ein# locke"$ +' se0eral transactions want to c!an#e t!e same area, row lock waits occur in le0el /$ ,ro- t!e &itma- in"exes &e'ore ou &e#in wit! -arallel loa"in#$ See also t!e rele0ant section in :ote </5/< 'or 'urt!er in'ormation$

User Lock

Enq: TX > contention

TYPE is TX, REQUEST is /

t!is is t!en -ossi&le i' -arallel


+:SERTs are runnin# an" one o' t!ese +:SERTs tri##ere" an ;UT)EXTE:, o-eration an" must wait 'or 8,ata 'ile init write8

t!is is t!en -ossi&le i' -arallel +:SERTs are runnin# an" one o' t!ese +:SERTs tri##ere" an ;UT)EXTE:, o-eration an" must wait 'or 8,ata 'ile init write8

Settin# Ta&le s-ace rea" onl o Session ( > start transaction, "on?t commit o Session . > alter ta&les-ace rea" onl %ree Lists :on3;SS4 Sessions 'reein# &lock +' no txs 'ree lists a0aila&le 1min (6, #row u- "e-en"in# on &lock si@e2 , -ick one an" wait TX / .PC > two -!ase commit o %irst "oes a -re-are t!e commit o ;n rea" or write access in t!e inter0enin# time waits TX /

o o o

User Lock

enq: T4 > contention

TYPE A T4, REQUEST A 5

)&*ect lock "urin# o-erations


suc! as RE9U+L, +:,EX or B;L+,;TE STRUCTURE or

,etermine t!e session t!at !ol"s t!e lock an" "etermine its L4),E$ +' L4),E A /, t!e lockin# session currentl executes an o-eration suc! as an in"ex re&uil" or a consistenc

ORACLE ENQUEUE WAITS & CAUSES WITH POSSIBLE ACTIONS TO BE CHECKED OR VERFIED
"ue to comman" 8L)C6 T;9LE $$$ +: EXCLUS+BE 4),E C:)D;+TE8

c!eck usin# B;L+,;TE STRUCTURE wit!out an ):L+:E 'la#$ Terminate t!is o-eration, so ot!er transactions can access t!e o&*ect a#ain$ +' L4),E A 5, t!e session t!at !ol"s t!e lock is not t!e main -ro&lem, since se0eral sessions can use a T4 lock wit! mo"e 5 at t!e same time an" in t!e same ta&le 1'or instance, i' two transactions c!an#e "i''erent recor"s in t!e same ta&le at t!e same time2$ +nstea", ou must anal @e w!et!er t!ere is anot!er waiter t!at requires a T4 enqueue wit! REQUEST A / 1'or exam-le, RE9U+L, +:,EX ):L+:E, see &elow2 an" w!ic! t!ere'ore &locks all requests in t!e queue line" u- &e!in" it$

enq: T4 > contention

TYPE A T4, REQUEST A /

RE9U+L, +:,EX ):L+:E or


SFR+:6 waits "ue to an acti0e TX enqueue on t!e corres-on"in# ta&le$ ;s "escri&e" in :ote 6<.G.6, a RE9U+L, +:,EX ):L+:E is onl online3ena&le" to a limite" extent$ You must t!ere'ore make sure t!at an online re&uil" is onl starte" i' no lon#3runnin# transactions are workin# in t!e rele0ant ta&le$ See :ote G(H5<G 'or in'ormation a&out Se#ment S!rinkin# To re"uce US enqueues, ou can set t!e 'ollowin# e0ent$ ;mon# ot!er t!in#s, t!is e0ent su--resses t!e automatic o''line settin# o' un"o se#ments t!at are no lon#er require"$ e0entA8(HI(( trace name context 'ore0er, le0el .8 +' US enqueues are res-onsi&le 'or -er'ormance -ro&lems in t!e Real ;--lication Cluster, im-ort t!e latest )racle -atc! set$ +' t!is "oes not sol0e t!e -ro&lem, create an S;P customer messa#e to initiate 'urt!er anal sis$

US3enqueues occur in relation


enq: US > contention to t!e automatic online or o''line settin# o' un"o se#ments & t!e S4):3 -rocess or & ot!er un"o se#ment acti0ities$

T!e C+ enqueue is allocate"


enq: C+ > contention w!en a session executes a cross instance call, in ot!er wor"s, w!en a &ack#roun" -rocess is tri##ere" in t!e )racle instance to carr out a certain task

D!en a session !as allocate" t!e C+ enqueue success'ull , it waits 'or t!e Dait E0ent 8r"&ms i-c re-l 8 until t!e &ack#roun" -rocess issues a res-onse$ )t!er sessions t!at also require t!e C+ enqueue must wait 'or it$t!is means t!at t!e o-timi@ation o' C+ enqueues corres-on"s to t!e o-timi@ation o' 8r"&ms i-c re-l 8 waits$ T!ere'ore, re'er to t!e 8r"&ms i-c re-l 8 section in :ote 6(G(<<$

T!e reuse o&*ect enqueue is


enq: R) 3 'ast o&*ect reuse use" in exactl t!e same wa as t!e C+ enqueue in TRU:C;TEs an" ,R)Ps$

re'er to t!e "etails "escri&e" a&o0e

T!e TT enqueue is use" to


enq: TT 3 contention a0oi" "ea"locks in -arallel ta&les-ace o-erations 1"eletin# an" creatin# ta&les-aces, creatin# "ata 'iles, ta&les-ace -oint3in3time reco0er , creatin# un"o se#ments in t!e ta&les-ace, ;LTER

+' an ;LTER ,;T;9;SE TE4P%+LE ,R)P !an#s "ue to a TT enqueue t!at is retaine" & t!e S4): -rocess in )racle G$.$H$6 or lower, )racle &u# 5<55<G5 is res-onsi&le$ T!is -ro&lem !as &een sol0e" in )racle G$.$H$J$ %or more in'ormation, see :ote <6J6<($ Lon#er waits 'or t!e TT enqueue are #enerall cause" & )racle &u#s$ +' ou ex-erience -ro&lems wit! t!is enqueue t -e, ou s!oul" t!ere'ore 'irst im-ort t!e latest )racle -atc!set$

ORACLE ENQUEUE WAITS & CAUSES WITH POSSIBLE ACTIONS TO BE CHECKED OR VERFIED
T;9LESP;CE, extent allocation an" "eallocation in t!e ta&les-ace, $2$

; FD enqueue occurs i'


enq: FD > contention se0eral -rocesses are simultaneousl tr in# to mo0e t!e !i#! water mark o' a ta&le$

+n -articular, t!is situation can occur w!en t!ere are -arallel +:SERT o-erations$ +n suc! a case, t!e !i#! water mark is mo0e" & 'i0e &locks 1in t!e case o' se0eral %REEL+STs: 'i0e &locks 'or eac! %REEL+ST2 & "e'ault$ +' t!ere is a lar#e num&er o' -arallel +:SERTs, t!is ma &e insu''icient$ T!e 'ollowin# o-timi@ations are -ossi&le: +ncrease t!e num&er o' %REEL+ST +ncrease t!e K9U4PKF+=FD;TERK4;R6KC)U:T -arameter to a 0alue #reater t!an I, w!ic! increases t!e !i#! water mark & more t!an 'i0e &locks an" means t!at t!e FD4 "oes not !a0e to &e c!an#e" so o'ten FD enqueues ma also occur w!en ou create o&*ects wit! lar#e initial 0alues, since in t!is case, t!e !i#! water mark !as to &e increase" u- to t!e +:+T+;L 0alue$ +' massi0e TC enqueue waits occur, t!e runtime o' t!e &acku- ma increase si#ni'icantl as a result$ Fowe0er, t!ere are no si"e e''ects on t!e s stem t!at is runnin# in -arallel$ +' t!e &acku- takes too lon# &ecause o' TC enqueues ; TC enqueue is also requeste" i', in t!e context o' -arallel quer accesses, t!e "ata on t!e "isk is accesse" "irectl wit!out usin# t!e &u''er -ool$ To ensure "ata consistenc , ou must ensure t!at all c!an#es to t!e a''ecte" se#ment are written 'rom t!e &u''er -ool to t!e "isk$ T!is occurs in t!e context o' a se#ment c!eck-oint, w!ere t!e TC enqueue is !el"$

TC enqueue waits ma
enq: TC > contention

occur in connection wit! ;LTER T;9LESP;CE 9E=+: 9;C6UP an" w!en ot!er ta&les-ace comman"s suc! as )%%L+:E or RE;, ):LY are use"$ ; c!eck-oint is execute" 'or t!ese o-erations$ D!ile t!e ,9DR writes t!e "irt &locks 'rom t!e &u''er -ool to t!e !ar" "isk, t!e s stem waits 'or a TC enqueue$ Lon# runtimes ma &e cause" & a lar#e &u''er -ool or -oor ,9DR -er'ormance$

C% enqueues are control 'ile


enq: C% > contention enqueues, w!ic! occur "urin# -arallel access to t!e control 'ile

;ctions t!at make it necessar to access t!e control 'ile can &e 'or exam-le, 9E=+: 9;C6UP, re"olo# arc!i0in# & an ;RCF -rocess, or a lo#'ile switc! & t!e L=DR -rocess$ +' a C% enqueue is requeste" wit!in a -erio" o' (I minutes wit!out success, )R;3HH6HH C.(H5E occurs, an" t!e )racle instance ma terminate 1see :ote 6I<J//2$$ +n 8c!eck-oint not com-lete8 situations 1:ote JG5/(2, t!e L=DR -rocess ma wait 'or a lon# time 'or t!e C% enqueue$ T!is is a 'ollow3on -ro&lem$ T!e 8c!eck-oint not com-lete8 situations t!at cause t!is -ro&lem must &e correcte" 1:ote JG5((52$

ORACLE ENQUEUE WAITS & CAUSES WITH POSSIBLE ACTIONS TO BE CHECKED OR VERFIED

See :ote 6I<J//, w!ic! contains -ossi&le causes an" solutions 'or C% enqueues an" t!e )R;3HH6HH C.(H5E t!at are tri##ere" & it$ C% enqueue waits ma also occur "urin# an ;rc!i0er stuck 1:ote 5G(2 since in suc! cases t!e ;RCF -rocess ma !ol" t!e C% enqueue 'or a lon# time$ +n t!is case, C% enqueue are onl a 'ollow3on -ro&lemL a'ter ou sol0e t!e ;rc!i0er stuck situation, t!e enqueue waits will also "isa--ear$ Can also &e cause" "ue to slow network s stems ; session t!at must carr out a sortin# -rocess on t!e "isk must 'irst request a corres-on"in# Sort Se#ment$ Until t!is request is met, t!e session waits on t!e Dait E0ent 8sort se#ment request8$ +' se0eral sessions request a sort se#ment "urin# t!is time, t!ese sessions wait on an SS enqueue$ T!e SS enqueue occurs in -articular i' t!e S4): -rocess is 0er &us an" cannot res-on" to t!e incomin# requests -rom-tl $ T!is ma !a--en, 'or exam-le, w!en it carries out lar#e roll&ack acti0ities$ +' ou encounter -er'ormance -ro&lems "ue to SS enqueues, ou 'irst !a0e to im-ort t!e most recent )racle Patc!set, since ol"er -atc!sets ma &e -artiall res-onsi&le 'or -ro&lems wit! SS enqueues Si#ni'icant waitin# times 'or t!is enqueue t -e are #enerall a result o' ot!er -ro&lems, suc! as8lo# &u''er s-ace8 waits$ T!ere'ore, c!eck w!et!er t!ere are also noticea&le Dait E0ents "urin# times o' increase" %9 Enqueue Daits$

SS enqueues are sort se#ment


enq: SS > contention enqueues

T!e %9 enqueue 1'ormat &lock


enq: %9 > contention enqueue2 is retaine" i' &locks are 'ormatte" in ;SS4 ta&les-aces 1'or exam-le, in t!e context o' +:SERT o-erations2$

T!e PE enqueue 1-arameter


enq: PE > contention enqueue2 occurs i' a -arameter c!an#e usin# 8;LTER SYSTE4 SET $$$8 or 8;LTER SESS+): SET $$$8 is acti0e an" ot!er sessions are waitin# 'or t!e com-letion o' t!is c!an#e

Si#ni'icant waitin# times on t!is enqueue are #enerall connecte" to runtime -ro&lems "urin# t!e -arameter c!an#e$ You must -rimaril c!eck w!et!er t!ere are 8;LTER $$$ SET8 comman"s wit! lon#er runtime an" w!at is tri##erin# t!is increase" runtime$

T!e TQ enqueue 1queue ta&le


enq: TQ 3 ,,L contention access enqueue2 ma occur in connection wit! ,ata Pumacti0ities$

%or more in'ormation, see :ote (H(5H/G$

T!e PS enqueue 1Parallel


enq: PS > contention Sla0e S nc!roni@ation Enqueue2 occurs 'or -arallel quer coor"inators i' -ro&lems occur w!en settin# u- sla0es

T!ere'ore, t!e PS enqueue is usuall a 'ollow3u- -ro&lem an" ou must in0esti#ate w! t!e start o' t!e sla0e !as &een "ela e" 1'or exam-le, & anal @in# a wait e0ent2$

ORACLE ENQUEUE WAITS & CAUSES WITH POSSIBLE ACTIONS TO BE CHECKED OR VERFIED
or -arsin# t!e statement to &e execute"$

+or more in.ormation about t3e parallel quer*, see ote 6D1060) "n "racle 101 (10)B)0)3 or lo4er), bu1 DE0F030 .or statements suc3 as , ?ER! ))) ?E-EC! or ;ER>E and t3e use o. parallel eAecution ma* cause a Gcursor5 pin HG and Genq5 =? I contentionG deadloc0) :s a 4or0around, *ou can use _//?_U?E_;U!EH_=, 8 +:-?E to deactivate t3e use o. muteAes (see ote E6C3CC)) C!eck t!e a--lication "esi#n i' it is causin# -er'ormance issues, likel t!e somew!ere in a--lication co"e t!is -acka#e is in use Balues ma &e increase" in connection wit! -aralleli@e" online reor#ani@ations, w!ic! "oes not usuall require an ma*or c!an#es$ +' t!ere is an R;C en0ironment -ro&lem wit! enqueues, c!eck i' t!e -ro&lem is sol0e" & im-ortin# t!e current -atc! set$ +' not, o-en an S;P customer messa#e 'or a more t!orou#! anal sis$ +ncrease" wait times are usuall a result o' -oor ,9DR -er'ormance$ T!ere'ore, c!eck t!e )racle +M) &e!a0ior accor"in# to :ote JG5((5$

T!e UL enqueue is set &


enq: UL > contention executin# ,94SKL)C6$REQUEST$

T!e sequence cac!e enqueue


enq: SQ 3 contention is use" to s nc!roni@e access to )racle sequences$

6) enqueues coor"inate t!e


enq: 6) 3 'ast o&*ect c!eck-oint c!eck-oints o' se0eral se#ments, 'or exam-le w!en ou create tem-orar )racle ta&les in ST;R trans'ormations$

+' se#ments are allocate" in t!e


enq:SS 3 contention8 an" 8enq: TS 3 contention tem-orar ta&les-ace, t!e sort se#ment enqueue an" t!e tem-orar se#ment enqueue are require"$

T!ere s!oul" &e no si#ni'icant wait times 'or t!ese enqueues$ ,ue to )racle &u# 6H<5<(I, t!e S4): -rocess ma allocate t!e TS enqueue at le0el 5 alt!ou#! t!e 4HH( -rocess requires t!is enqueue at le0el 6, &ut must wait 'or S4):$ ;t t!e same time, 4HH( !as alrea" exclusi0el allocate" t!e SS enqueue,

Vous aimerez peut-être aussi