Re: Terminate rollback?
Date: Thu, 2 Apr 2009 18:25:45 -0500
You may be able to use this method:
- Kill the instance with shutdown abort.
- Set event 10513 to disable smon transaction rollback. Since the instance is dead, transaction must be rolled back by smon. 10513 disable smon rollback. startup nomount; alter system set events '10513 trace name context forever, level 2' scope=memory; alter database mount; alter database open;
- After opening database, drop the table.. drop table t1;
- Now, make sure event is off.. This is a very *critical* step. alter system set events '10513 trace name context off'; or just restart instance.. show parameter event
I just tested this in 11g and should work in 10g too..Search for smon 10513 in metalink and you can read more information about this event.
PS: I wouldn't try this method in production though..
On Thu, Apr 2, 2009 at 11:29 AM, Brian S Wisniewski < brian.s.wisniewski_at_jpmchase.com> wrote: 10.2.0.4 DEVELOPMENT database
Is there any way (oracle events) to stop a rollback that is in-flight? I want to drop the object that the rollback is occurring against and start over. The rollback that is in-flight is going to run for hours and I'd rather not wait, if possible. This is against a development database so I'm not concerned about using undocumented processes if anyone has one available. I looked through the oracle events but didn't find one that stood out.
> Thanks - Brian