FLASHBACK TABLE

FLASHBACK TABLE — 恢复已删除的表

Synopsis

FLASHBACK TABLE name TO BEFORE DROP

描述

FLASHBACK TABLE 命令可以撤销 DROP TABLE 操作。 它从回收站中恢复表到其先前的状态。只有表所有者、模式所有者和超级用户可以对表执行闪回操作。 您可以指定表的原始用户定义名称,或者指定 LightDB 数据库在表被删除时分配给该对象的系统生成名称。

要查看回收站的内容,请查询 USER_RECYCLEBIN 系统视图。

闪回已删除表的注意事项

  • 系统生成的回收站对象名称是唯一的。因此,如果您指定系统生成的名称,数据库将闪回该特定对象及其相关对象。

    如果您指定用户定义的名称,并且回收站中包含多个同名对象,数据库将闪回最近移入回收站的对象。

  • 数据库会闪回表上定义的所有索引、触发器和约束,但不包括引用其他表的引用完整性约束。

    恢复的索引、触发器和约束具有回收站名称。因此,建议在执行 FLASHBACK TABLE ... TO BEFORE DROP 语句之前先查询 USER_RECYCLEBIN 视图,以便您可以将恢复的触发器和约束重命名为更易用的名称。

  • 当您删除一个表时,与表相关的统计信息、策略、发布、操作符、重写规则 (在 LightDB oracle 模式下排除视图重写规则)也会被删除,但不会放入回收站。 因此,这些对象无法与表一起闪回恢复。

样例

闪回一张删除的表, t1:

FLASHBACK TABLE t1 TO BEFORE DROP;

闪回 schema my 的表 t2:

FLASHBACK TABLE my.t2 TO BEFORE DROP;

另见

DROP TABLE, PURGE