Re: Application waiting for a user lock.

  • From: Martin Berger <martin.a.berger@xxxxxxxxx>
  • To: dmarc-noreply@xxxxxxxxxxxxx
  • Date: Tue, 17 Feb 2015 19:09:41 +0100

Mladen,

"WRAPPED" is nothing serious if it's wrapped with the 10g+ wrapper. Google
will lead you to some unwrappers if you want to (and checked the EULA
first).

As your application might not use the full qualified sys.DBMS_LOCK.* you
can remove it's public synonym, create your own DBMS_LOCK package in
another schema and create the public synonym.

Not a very "nice" way and you have to do your package carefully to avoid
side-effects, but it can be a solution at the end.

 Martin

On Tue, Feb 17, 2015 at 4:43 AM, Mladen Gogala <dmarc-noreply@xxxxxxxxxxxxx>
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 DBAhttp://mgogala.freehostia.com
>
>

Other related posts: