-1

我正在使用 oracle 11g r1。作为项目的一部分,我必须通过禁用一些约束(触发器和检查约束)来执行多个更新语句。这将导致数据库损坏。

当数据库损坏时,我必须重新导入整个数据库。这将是一项耗时的额外任务。

我对 oracle 闪回功能知之甚少。Is Flashback 将帮助我避免这些不必要的导入。这样我就可以设置一些稳定点并在出现任何问题时切换回那里。

如果它符合我的要求,我会努力学习。请帮我。

请给我这个功能的简要概述?

4

1 回答 1

4

听起来您希望创建一个还原点,很可能是一个保证还原点,实施您想要测试的任何更改,然后闪回到该还原点

就像是

CREATE RESTORE POINT some_name GUARANTEE FLASHBACK DATABASE;

然后进行任何您想要的更改。如果您想恢复到创建还原点时的数据库状态

FLASHBACK DATABASE TO RESTORE POINT 'some_name'

当您完成还原点并且不再希望能够闪回到它时

DROP RESTORE POINT some_name

但是,实际上并不清楚这是否真的是您想要的。如果您的问题仅仅是在您进行大量更改后您的约束无法验证,那么将约束创建为可延迟的,在进行更改之前延迟约束,将您的更改作为单个的一部分进行更改会更有意义事务,并在约束验证失败时回滚更改(可能除了记录验证失败的行,以便您可以更有效地调试脚本)。

于 2012-07-06T06:27:54.797 回答