Re: Turning off DML commit when session is exited or disconnected

From: Cristian Cudizio <cristian.cudizio_at_yahoo.it>
Date: Thu, 18 Dec 2008 06:12:07 -0800 (PST)
Message-ID: <e2d4d658-e986-462e-b71e-bf031a6e1666@f40g2000pri.googlegroups.com>


On 18 Dic, 14:04, sybrandb <sybra..._at_gmail.com> wrote:
> On 18 dec, 12:28, oracle user <rcl..._at_gmail.com> wrote:
>
> > If i issue a DML statment in oracle database from sqlplus session
> > (where autocommit is off by default ) and then 'exit' or 'disc' the
> > session without explicitly commiting the DML ,the DML gets commited .
> > Is it possible to turn off this default behaviour.
> > Thanks in Advance
>
> It is NOT possible.
> How would it be? By design, your transaction ends by exiting Oracle.
> It is a feature of the database, not of sql*plus.
> If you don't want to commit your transaction, you issue rollback.
> This won't get you RSI.
>
> --
> Sybrand Bakker
> Senior Oracle DBA

Well, i've to admit that this for me is a surprise. I've always used explicit commit or rollback
but i've never knew that exiting or disconnecting from sqlplus transaction gets automatically
committed. It is true that this behaviour cannot be changed, but it is a feature
of SQL*Plus (http://download.oracle.com/docs/cd/B19306_01/server.102/ b14357/ch12023.htm#i2697968)
If you kill a session, oracle rollbacks any changes.

Regards,
 Cristian Received on Thu Dec 18 2008 - 08:12:07 CST

Original text of this message