Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> c.d.o.misc -> Re: "savepoint" feature

Re: "savepoint" feature

From: <>
Date: Thu, 12 Jul 2007 22:39:31 +0200
Message-ID: <>

On Thu, 12 Jul 2007 13:28:57 -0700, "" <> wrote:

>On Jul 12, 1:05 pm, Brian Peasland <> wrote:
>> wrote:
>> > I am working with the "savepoint" feature in Oracle, and I noticed
>> > that a savepoint appears
>> > to get deleted when a commit occurs. I was wondering if these is an
>> > easy way to make
>> > a savepoint that will persist across commits.
>> > Any help is appreciated.
>> > Thank you.
>> A savepoint lets you roll back part of a transaction. Without a
>> savepoint, the only option is to roll back the entire transaction. Once
>> you commit the transaction, it can no longer be rolled part
>> nor in total. So it makes no sense to let you roll back to a savepoint
>> in a committed transaction. This is not possible. If you think you need
>> to rollback to that savepoint, then don't commit!
>> HTH,
>> Brian
>> --
>> ===================================================================
>Unfortunately, I am calling into someone else's stored procedures,
>which have commits in them.
>I am not allowed to modify their procedures to remove the commits. Is
>there any Oracle feature
>that can be of help in this case? I may need to rollback after some
>unknown number of commits have

As your Oracle doesn't seem to have a version, a proper answer can not be provided.
Be aware though that your 'rollback' may involve using LogMiner (for which you would need to have the SCNs to 'rollback') or flashback (and you can flashback either individual tables or the complete database.
Logminer exists in 8i and higher, flashback from 9i and higher. I have the feeling though your 'requirement' is best met by dumping the PL/SQL ore modifying it, as the work arounds will be extreemly complicated and likely very unstable.

Sybrand Bakker
Senior Oracle DBA
Received on Thu Jul 12 2007 - 15:39:31 CDT

Original text of this message