oracle - ORA-00060 trace file explanation -
i have known deadlock in merging query. there no foreign keys, triggers, pl/sql. master table btree index composite primary key. helper table temporal session private (no primary key). multiple threads inserts entries temporal table , call merge.
all stuff looks pretty typical cannot classify problem source. dug article doing application design reason for. case doesn't fit of mentioned patterns %100.
lock types in deadlock graph looks "primary key overlap", trace has rows. though there 2 looping rows contingent case has no rows @ all.
deadlock graph: ---------blocker(s)-------- ---------waiter(s)--------- resource name process session holds waits process session holds waits tx-0006000d-00010e04 24 1432 x 23 2918 s tx-00270002-00019175 23 2918 x 24 1432 s session 1432: did 0001-0017-015a7b2a session 2918: did 0001-0031-002724ee session 2918: did 0001-0031-002724ee session 1432: did 0001-0017-015a7b2a rows waited on: session 1432: obj - rowid = 00004061 - aaaebhaaeabffcsaaa (dictionary objn - 16481, file - 4, block - 24924332, slot - 0) session 2918: obj - rowid = 00004061 - aaaebhaaeabffcsaaa (dictionary objn - 16481, file - 4, block - 24924332, slot - 0)
on second snippet of trace see 1 slot (committed , lock released). according interested transaction list ( itl ) in oracle "lck" means no rows locked @ all, see 2 rows above?
object id on block? y seg/obj: 0x4061 csc: 0x00.24a90627 itc: 1 flg: e typ: 2 - index brn: 0 bdba: 0x156a730 ver: 0x01 opc: 0 inc: 0 exflg: 0 itl xid uba flag lck scn/fsc 0x01 0x0006.00a.0000d5fb 0x000556a1.13a8.02 c--- 0 scn 0x0000.24a8fa32 branch block dump
Comments
Post a Comment