您可以使用“RENAME”而不是“FLASHBACK TABLE”来恢复 Oracle 中的表吗?

Ste*_*ios 3 oracle flashback

只是一个关于闪回和 Oracle 中回收站的一般问题。我尝试在我拥有的演示 oracle 数据库上执行此操作,但似乎不想填充回收站;我想要一个快速的答案。

可以执行以下操作:

flashback table table_name to before drop;
alter index "BIN$U/9fvJKaASzgQKjAYAIWhw==$0" rename to sys_c1113050;
Run Code Online (Sandbox Code Playgroud)

那么你能不能这样做,恢复一个表:

RENAME TABLE BIN$U/9fvJKaASzgQKjAYAIWhw==$0 TO TABLE_NAME
Run Code Online (Sandbox Code Playgroud)

o0x*_*258 6

你不能。要从回收站中恢复表,请使用flashback table <table_name> to before drop;

<table_name> 是原始表名,而不是回收站中的 object_name。

不要重命名表以从回收站中恢复它!

  • `alter table "BIN$DSeKsKbPUivgUygeqMBdyQ==$0" 重命名为 test_rest;` 将导致 `ORA-38301 无法对回收站中的对象执行 DDL/DML` (3认同)
  • 我不是 100% 确定您是否可以重命名回收站中的表。我在测试中证实了这一点:你不能。如果你能做到,我不会推荐它。 (2认同)