Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Has anyone done any scalability work on dbms_lock?

Re: Has anyone done any scalability work on dbms_lock?

From: Jonathan Lewis <>
Date: Wed, 21 Jan 2004 05:29:26 -0800
Message-ID: <>

On a light-weight test on at 700MHz on W2000 -

About 15,000 request/release per second

    if you are using an ID

About 8,000 request/release per second

    if you are using a pre-allocated lock handle

About 800 request/release per second

    if you have to allocate_unique on every request.

Bear in mind that each request or release will hit the enqueue latch a couple of times, so you could get contention for the latch in the two high-speed options. (Forget the low-speed option, allocate_unique does a commit in mid-stream, which you might be able to hide with a recursive transaction - but the overheads are extreme).

Bottom line - for high-speed OLTP type of work, I don't think you will get away with more than a dozen request/release cycles per transaction.


Jonathan Lewis

  The educated person is not the person   who can answer the questions, but the   person who can question the answers -- T. Schick Jr

Next public appearance2:
 March 2004 Hotsos Symposium - Keynote
 March 2004 Charlotte NC - OUG Tutorial
 April 2004 Iceland

One-day tutorials:

Three-day seminar:
see ____UK___February

The Co-operative Oracle Users' FAQ

> As in: does it present an inherent or hidden performance
> problem when a lot of sessions try to lock/release the same
> lock? Or how many lock/release per second. Or some other
> idea of how efficient it is?
> Need to use it in a design, but not sure of any potential
> performance hits or scalability issues. Any ideas?
> TIA.
> Cheers
> Nuno Souto

Please see the official ORACLE-L FAQ:
Author: Jonathan Lewis

Fat City Network Services    -- 858-538-5051
San Diego, California        -- Mailing list and web hosting services
To REMOVE yourself from this mailing list, send an E-Mail message
to: (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Wed Jan 21 2004 - 07:29:26 CST

Original text of this message