Re: Application waiting for a user lock.

  • From: Tim Gorman <tim@xxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Mon, 16 Feb 2015 20:57:08 -0700

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@xxxxxxxxx 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

Other related posts: