Re: In AWR, How can 'user calls' be < 'executes'/sec?

  • From: Tanel Poder <tanel@xxxxxxxxxx>
  • To: afatkulin@xxxxxxxxx
  • Date: Thu, 15 Oct 2009 16:34:53 +0800

You have only one user call reported as there is only one user call executed
directly via oracle program interface (OPI).

However you would have one thousand recursive calls executed as well, these
are database calls executed via recursive program interface (RPI). These
calls are shown as "recursive calls" in v$sesstat.

So, total number of DB calls = user calls + recursive calls.

Tanel.

On Thu, Oct 15, 2009 at 1:41 AM, Alex Fatkulin <afatkulin@xxxxxxxxx> wrote:

> It's pretty easy to get user calls to be less than executes, if you
> submit the following pl/sql block, for example:
>
> begin
>        for i in 1 .. 1000
>        loop
>                for cur in (select null from dual)
>                loop
>                        null;
>                end loop;
>        end loop;
> end;
>
> that would be one user call and 1000+ executes. In fact, in certain
> cases you may use this to see how "chatty" the app is, i.e. how much
> "work" is being done per call.
>
>
-- 
Tanel Poder
http://blog.tanelpoder.com

Other related posts: