ALTER ROLLBACK SEGMENT <name> OFFLINE;
ALTER ROLLBACK SEGMENT <name> ONLINE;
否则,使所有回滚段的大小相同。
If this is a 'one-off' requirement then one solution is to put the other rollback segments offline while you run your transactions then put them online when you've finished;
ALTER ROLLBACK SEGMENT <name> OFFLINE;
ALTER ROLLBACK SEGMENT <name> ONLINE;
Otherwise make all the rollback segments the same size.
begin
commit;
SET TRANSACTION USE ROLLBACK SEGMENT UNDOTBS1;
--Your code here
end;
问候 K
I can't test this on Oracle 8, but on newer versions you can explicitly start a new transaction by issuing a commit and then altering the rollback segment.
I assume this is a procedure / function.
begin
commit;
SET TRANSACTION USE ROLLBACK SEGMENT UNDOTBS1;
--Your code here
end;
发布评论
评论(3)
如果这是“一次性”要求,那么一种解决方案是在运行事务时将其他回滚段置于脱机状态,然后在完成后将它们置于联机状态;
否则,使所有回滚段的大小相同。
If this is a 'one-off' requirement then one solution is to put the other rollback segments offline while you run your transactions then put them online when you've finished;
Otherwise make all the rollback segments the same size.
我无法在 Oracle 8 上对此进行测试,但在较新的版本上,您可以通过发出提交然后更改回滚段来显式启动新事务。
我认为这是一个过程/函数。
问候
K
I can't test this on Oracle 8, but on newer versions you can explicitly start a new transaction by issuing a commit and then altering the rollback segment.
I assume this is a procedure / function.
Regards
K
我绝对无法测试这一点,但您可以尝试在设置事务语句之前发出保存点,例如
I have absolutely no way of testing this, but you could try issuing a save point before your set transaction statement, e.g.