Oracle 回滚段和 ADO.NET

发布于 2024-07-08 04:30:08 字数 1477 浏览 8 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

时光无声 2024-07-15 04:30:08

如果这是“一次性”要求,那么一种解决方案是在运行事务时将其他回滚段置于脱机状态,然后在完成后将它们置于联机状态;

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.

薄暮涼年 2024-07-15 04:30:08

我无法在 Oracle 8 上对此进行测试,但在较新的版本上,您可以通过发出提交然后更改回滚段来显式启动新事务。

我认为这是一个过程/函数。

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;

Regards
K

沉溺在你眼里的海 2024-07-15 04:30:08

我绝对无法测试这一点,但您可以尝试在设置事务语句之前发出保存点,例如

保存点use_big_rbs;

设置事务使用回滚段big_rbs;

更新...

...

I have absolutely no way of testing this, but you could try issuing a save point before your set transaction statement, e.g.

SAVEPOINT use_big_rbs;

SET TRANSACTION USE ROLLBACK SEGMENT big_rbs;

UPDATE ...

...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文