Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> c.d.o.server -> Re: Asynchronous Commit in Oracle Database 10g R2

Re: Asynchronous Commit in Oracle Database 10g R2

From: Jonathan Lewis <>
Date: Sun, 4 Sep 2005 12:03:36 +0000 (UTC)
Message-ID: <dfenqo$mp8$>

"orauser" <> wrote in message
> Exactly...and I think the extproc example given by Mr. Lewis has done
> nothing but deviate us from the main problem here (i.e. undocumented
> commit optimization).
> I think any sensible person with a knowledge of how things work in
> oracle would use DBMS_JOB (or whatever) instead of extproc.
> The point is oracle is doing an "Undocumented Optimization" which is
> highly unacceptable. If you (Oracle) do these kind of optimizations why
> not document it...!

I think you've missed the important point, though. The optimization is only a danger if there is a method for getting a message to the outside from inside the database call. Consequently the fact that such methods exist IS the main problem - the fact that I gave extproc as an example rather than utl_file or dbms_pipe is a minor detail.

Technically, by the way, you could make the same problem appear using dbms_job so that doesn't protect you properly, even though the time window for the error would be much smaller if you happened to call dbms_job with a commit in the loop.

Think carefully about the problem - if you cannot detect the optimization (apart from the change in speed) why do you need to know that it happens ?

Two possible reasons why Oracle does not document every optimisation they introduce:

  1. it might help the opposition
  2. they might decide to withdraw it for some reason, but if someone had taken advantage of it because it was documented, then they would be obliged to continue supporting it.

Jonathan Lewis

Now waiting on the publishers:    Cost Based Oracle - Volume 1
The Co-operative Oracle Users' FAQ
Public Appearances - schedule updated 8th July 2005

Received on Sun Sep 04 2005 - 07:03:36 CDT

Original text of this message