Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: How not to generate information of rollback?
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
![]() |
![]() |