RE: ** commit or rollback - diff

  • From: Yavor Ivanov <Yavor_Ivanov@xxxxxxxx>
  • To: "ajoshi977@xxxxxxxxx" <ajoshi977@xxxxxxxxx>, "oracle-l@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>, "Richard.Goulet@xxxxxxxxxxx" <Richard.Goulet@xxxxxxxxxxx>
  • Date: Wed, 18 Feb 2009 14:27:08 +0200

Two points here:

-          as you have noticed, even when you issue only SELECT statements 
across a database link, there is a transaction lock is placed on an undo 
segments. IMHO, when you have no DML, there should be no difference between 
COMMIT or ROLLBACK - either will just rerelease the lock.

-          generally when there is some real DML, COMMIT is much cheaper than 
ROLLBACK (in Oracle). COMMIT just flushes a little redo and that's all. 
ROLLBACK does much more operations.

Regards,
Yavor Ivanov

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of A Joshi
Sent: Thursday, February 12, 2009 11:47 PM
To: oracle-l@xxxxxxxxxxxxx; Richard.Goulet@xxxxxxxxxxx
Subject: RE: ** commit or rollback - diff

Dick,
   Thanks. Yes, I see that from safety point of view. From performance point of 
view and resource consumption : which is faster? Or does it make no diff? I 
know commit is expensive operation : however : is that only if there are 
changes. Thanks

--- On Thu, 2/12/09, Goulet, Richard <Richard.Goulet@xxxxxxxxxxx> wrote:
From: Goulet, Richard <Richard.Goulet@xxxxxxxxxxx>
Subject: RE: ** commit or rollback - diff
To: ajoshi977@xxxxxxxxx, oracle-l@xxxxxxxxxxxxx
Date: Thursday, February 12, 2009, 4:38 PM
Rollback is safer just incase you did a DML transaction without knowing it like 
inside a procedure.


Dick Goulet


________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of A Joshi
Sent: Thursday, February 12, 2009 4:32 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: ** commit or rollback - diff
Hi,
    If I have not done a dml transaction in a session : no update, delete or 
insert etc. I have only done select and some of the objects can be over a db 
link. So I can do a commit or rollback so that no transaction is pending in my 
session. My question is : is there any difference in such case between the 
behaviour of commit and rollback. When there is no data as such to commit or 
rollback.  I am thinking it is better to do rollback since it has to do less. 
Am I wrong. Any observation. Thanks for help. Thanks



Other related posts: