Lock requests queued?

From: Frank Langelage <frank_at_lafr.de>
Date: Tue, 19 Jun 2012 19:10:13 +0200
Message-ID: <a4bq3mFco5U1_at_mid.individual.net>

To serialize some kind of data modifications our application uses an exclusive table lock (lock table %s in exclusive mode). The process retrieves some data, then acquires the lock and does the modifications. Then work is committed and with that the lock is released. After process 1 has acquired the lock at time t1, other processes might come and require the lock. Lets say process 2 at t2 and process 3 at t3. Is it guaranteed, that the process 2 will be the next to get the lock because it was first who tried to get it, so waiting for the longest time? Or maybe better: are the lock requests queued? Or is it more or less random, depending which of the Oracle processes/threads gets CPU time?

(Oracle server version 10.2 or 11.2 on Windows, IBM AIX and Solaris SPARC). Received on Tue Jun 19 2012 - 12:10:13 CDT

Original text of this message