Re: Lock requests queued?

From: joel garry <joel-garry_at_home.com>
Date: Tue, 19 Jun 2012 16:05:54 -0700 (PDT)
Message-ID: <dad83a8b-3984-42e5-b4a8-64fb23560bfa_at_e7g2000pbg.googlegroups.com>



On Jun 19, 10:10am, Frank Langelage <fr..._at_lafr.de> wrote:
> 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).

I'm not real sure, but I think it will be random. I believe if you are overriding the default locking, you are responsible for making it do what you want. Oracle uses lock escalation, so you really have to watch what is happening. There are various examples around on how to check what locks are happening, the first thing I googled upon was this (note the TM discussions): https://forums.oracle.com/forums/thread.jspa?threadID=638343 And of course, http://jonathanlewis.wordpress.com/category/oracle/locks/

jg

--
_at_home.com is bogus.
Im absolutely personally responsible, Jamie Dimon told the Senate
Banking Committee in Washington, D.C.
So now "personal responsibility" means "make others pay."
Received on Tue Jun 19 2012 - 18:05:54 CDT

Original text of this message