Set Transaction Use Rollback Segment
Could you pleas have a look the code bellow and tell me please what I am doing wrong? Looks like transaction goes to wrong rollback segment.
Oracle 18.104.22.168, Linux RedHat 6.2
SQL> SET TRANSACTION USE ROLLBACK SEGMENT Rollbig;
SQL> alter table calls drop unused columns;
alter table calls drop unused columns
ERROR at line 1:
ORA-01562: failed to extend rollback segment number 1
ORA-01650: unable to extend rollback segment R01 by 4 in tablespace RBS
Last edited by kgb; 01-09-2004 at 07:55 AM.
DDL and DML Transaction
I suppose set traction rollback segment works only with DML transactions and not DDL transactions.
As you are trying to modify the table structure the statement comes under DDL type thats why you are facing this problem.
That will not work beacuse in Oracle a DDL is processed someyhin like this
because oracle silently adds a commit before your sql statememt the set transaction use rollback segment is lost.
one way to do this is offfline all your other rollback segments and make the rollbig as the only rollback segment online and try.
is there a way to find
which rollback segment will be used for the next transaction?
you can use
ALTER TABLE DROP COLUMNS CHECKPOINT XXX
where XXX is number of rows, this issue a commit every XXX rows
Click Here to Expand Forum to Full Width