Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: How not to generate information of rollback?

Re: How not to generate information of rollback?

From: Martin Haltmayer <Martin.Haltmayer_at_d2mail.de>
Date: Sat, 21 Jul 2001 21:26:27 GMT
Message-ID: <3B42EEBA.F9EEB79D@d2mail.de>

I am very astonished. In the 8.1.6 online doc I read:

"Discrete Transaction Management
Application developers can improve the performance of short, nondistributed transactions by using the BEGIN_DISCRETE_TRANSACTION procedure. This procedure streamlines transaction processing so that short transactions can execute more rapidly.

During a discrete transaction, all changes made to any data are deferred until the transaction commits. Of course, other concurrent transactions are unable to see the uncommitted changes of a transaction whether the transaction is discrete or not.

The following events occur during a discrete transaction:

Oracle generates redo information, but stores it in a separate location in memory.

When the transaction issues a commit request, Oracle writes the redo information to the redo log file along with other group commits.

Oracle applies the changes to the database block directly to the block.

Oracle returns control to the application after the commit completes.

This transaction design eliminates the need to generate undo information, since the block is not modified until the transaction is committed, and the redo information is stored in the redo log buffers.

There is no interaction between discrete transactions, which always generate redo, and the NOLOGGING mode, which applies only to direct path operations. Discrete transactions may therefore be issued against tables that have the NOLOGGING attribute set. "

No word here that they are deprecated.

Martin

Thomas Kyte wrote:
>
> In article <3B40CA0C.89F054AA_at_d2mail.de>, Martin says...
> >
> >Have a look at discrete transactions. There are some restrictions but they will
> >not generate rollback but redolog only.
> >
> >Martin
> >
> >
>
> discrete transactions are depricated in Oracle8i (hidden init.ora parameter to
> even get them enabled).
>
> They are only appropriate for single row inserts/updates/delete as you cannot
> revisit a block twice.
>
> Very not appropriate for mass updates and inserts.
>
> >
> >none_at_inet.org wrote:
> >>
> >> For example, for a import or a massive update, I donĀ“t generate
> >> rollback information...
> >>
> >> like this?
> >>
> >> COMMIT;
> >> SET TRANSACTION READ ONLY;
> >> ...
> >> ...
> >> ...
> >> COMMIT;
> >>
> >> thanx for your help!!!
> >
> >
>
> --
> Thomas Kyte (tkyte@us.oracle.com) http://asktom.oracle.com/
> Expert one on one Oracle, programming techniques and solutions for Oracle.
> http://www.amazon.com/exec/obidos/ASIN/1861004826/
> Opinions are mine and do not necessarily reflect those of Oracle Corp
Received on Sat Jul 21 2001 - 16:26:27 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US