FLASHBACK TABLE

说明

闪回被删除的表。

语法

flashback_table ::=

参数

table_name

是要闪回的表名。

注解

神通数据库提供了回收站(Recycle Bin)。当DROP TABLE的时候,实际上只是将其重命名,并将该表放到回收站中,后续如果发现误删了表,可以使用FLASHBACK TABLE命令将回收站中的表还原,这就是Oscar的删除闪回功能。

可以通过配置参数enable_recyclebin启用或禁用回收站功能;该参数的默认值为FALSE。

在不使用闪回删除功能时,建议关闭回收站功能。

示例

示例1: 闪回被删除的表

--  清理环境
DROP TABLE tab1 CASCADE;

--  开启回收站功能
SET enable_recyclebin = TRUE;

--  清空回收站
PURGE RECYCLEBIN;


--  创建表
CREATE TABLE tab1(a INT);

INSERT INTO tab1 VALUES(100);
INSERT INTO tab1 VALUES(200);
INSERT INTO tab1 VALUES(300);


SELECT * FROM tab1 ORDER BY a;
A(int)      |
------------
100         |
------------
200         |
------------
300         |
总数目:3

--  删除表
DROP TABLE tab1;

--  表已不存在,查询报错
SELECT * FROM tab1 ORDER BY a;
ERROR, Relation "TAB1" does not exist


--  闪回表
FLASHBACK TABLE tab1;


--  表已闪回,数据未丢失
SELECT * FROM tab1 ORDER BY a;
A(int)      |
------------
100         |
------------
200         |
------------
300         |
总数目:3


--  关闭回收站功能
SET enable_recyclebin = FALSE;

--  删除表
DROP TABLE tab1;