Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: tkprof elapsed time

Re: tkprof elapsed time

From: Vlad Sadilovskiy <>
Date: Fri, 23 Nov 2007 00:21:30 -0500
Message-ID: <>


Thanks for taking time commenting on this issue and for the insight.

I wouldn't argue if you call commit call "*cursor-less call*". And you are most probably right, it is not the same as seeing cursor slot allocated under which there are waits but there are no call information.

The main point I was trying to make that in the situation with missing call information Tkprof or any other utility doesn't have a good choice when assigning waits. It is actually fortunate if they can at least gather these waits under one of the ancestors. In the scope of suggested by you ASSM bug, the "*log file sync*" would be gathered under cursor for *insert *statement
and would be properly reflected in this cursor "*elapsed time*". Which we don't see in the case that Alex provided. Hopefully, you see the difference.

Vlad Sadilovskiy
Oracle Database Tools
Web site:


On 11/22/07, Tanel Poder <> wrote:
> Vlad, I would rather name it "cursorless call" as sqlplus'es autocommit
> is a separate OPI call which doesn't parse/execute any cursors.
> On a loosely related topic - there are few ASSM bugs which can cause a
> plain insert (without commits) to extensively wait on log file sync events.
> This is because lots of unsuccessful ASSM recursive space management
> transactions, which have to be rolled back - and rollbacks also need to wait
> for log file sync before returning.
> The symptom would be lots of waiting for log file syncs, high "transaction
> rollbacks" statistic increase without any accompanying "user rollbacks".
> One such bug is bug # 4664513 , but there's more.
> --
> Regards,
> Tanel Poder
> ------------------------------
> *From:* [mailto:
>] *On Behalf Of *Vlad Sadilovskiy
> *Sent:* Thursday, November 22, 2007 03:28
> *To:* amonte
> *Cc:* oracle-l
> *Subject:* Re: tkprof elapsed time
> Alex,
> This insert statement should not produce any "*log file sync*" waits. This
> is the *commit's* job :). SQL*Plus autocommit does not create a "commit"
> statement as such. The "action" for this "commit" would not have associated
> cursor slot. That's what I call " *call-less*" cursor. However, it would
> cause waits to occur with the #0 cursor or in come cases the slot number of
> a call that would has just been completed. Tkprof usually associates these
> waits with the call that follows.
> Try reproducing it by issuing "COMMIT" explicitly.
> Regards,
> Vlad Sadilovskiy
> Oracle Database Tools
> Web site:
> Blog:

Received on Thu Nov 22 2007 - 23:21:30 CST

Original text of this message