Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> transaction enqueue lock

transaction enqueue lock

From: Jon Landenburer <jon.m.landenburger_at_verizon.com>
Date: 13 Aug 2002 06:43:53 -0700
Message-ID: <feee7535.0208130543.159977b5@posting.google.com>


We have a process which moves charges from one account to another. To do this it updates the charge on the losing account (giving it an end date) and then inserts the charge to the gaining account. Many cases though the movement of an account may have thousands of charges. In order to increase throughput we have attempted to run many of these processes at the same time. There should be no row contention because each process is working with different accounts and charges. When we get above 4 processes running we encounter transaction enqueue locks (TX). The holder of the lock is just going on updating and inserting where as the blocked process is stopped on the first insert -- waiting. There is no sharing here the blocked processes will not move on until the blockers have completed. Effectively we are being held to 4 of these concurrent processes.

looking in v$rollstat there is almost no movement (inserts have no before image and the updates are just a date field long-- so no rollback contention.

v$session_wait is where I see the enqueue

Not sure where to go from here.
We are confident there is no row lock, no tables are being held exclusively

Any ideas are welcome
Jon Landenburger Received on Tue Aug 13 2002 - 08:43:53 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US