Re: Application waiting for a user lock.

From: Tim Gorman <tim_at_evdbt.com>
Date: Mon, 16 Feb 2015 20:57:08 -0700
Message-ID: <54E2BC14.8070204_at_evdbt.com>



Mladen,

The REQUEST procedure in the DBMS_LOCK package <http://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_lock.htm#ARPLS66779> has a TIMEOUT parameter which by default is set to "indefinite", but can be set to a specified number of seconds. It appears that the developer set it to "60" from what you're showing here (i.e. 60 waits in 3,601 seconds).

Hope this helps...

-Tim

On 2/16/15 20:43, Mladen Gogala (Redacted sender mgogala_at_yahoo.com for DMARC) wrote:
> The wait events look like this:
> /Event Waits Time (s) (ms) Time
> ----------------------------------------- ------------ -----------
> ------ ------
> *PL/SQL lock timer 60 3,601
> 60012 52.0
> *CPU time 3,233 46.7
> db file sequential read 97,875 75 1 1.1
> control file sequential read 13,019 5 0 .1
> log file parallel write 1,344 4 3 /
>
> Obviously, the application is using DBMS_LOCK. Is there anything that
> can be done to make it cheaper? Not only
> is the whole thing horribly slow, it also devours vast amounts of
> CPU. I cannot go into the source, it's a 3rd party
> application and someone discovered the keyword "WRAPPED". I've been
> looking for a hidden instance parameter
> which would change the DBMS_LOCK behavior and make it cheaper. Any ideas?
> --
> Mladen Gogala
> Oracle DBA
> http://mgogala.freehostia.com

--
http://www.freelists.org/webpage/oracle-l
Received on Tue Feb 17 2015 - 04:57:08 CET

Original text of this message