Files
oceanbase/docs/docs-cn/7.developer-guide-1/4.create-and-manage-database-objects/2.create-and-manage-tables/6.flashback-deleted-table.md
2022-02-10 14:51:49 +08:00

1.7 KiB

闪回被删除的表

OceanBase 支持回收站功能,通过回收站可以闪回已删除的表。默认回收站是开启的,回收站是否开启由租户变量 recyclebin 控制。

开启/关闭回收站的语法是:

set global recyclebin = ON | OFF ;

修改回收站的开启状态后,只对后续新连接会话生效。

  • 示例:闪回被删除的表。
obclient> drop table if exists t1;
Query OK, 0 rows affected (0.02 sec)

obclient> create table t1(id bigint not null primary key, gmt_create datetime not null default current_timestamp);
Query OK, 0 rows affected (0.09 sec)

obclient> insert into t1(id) values(1),(2),(3);
Query OK, 3 rows affected (0.02 sec)
Records: 3  Duplicates: 0  Warnings: 0

obclient> select * from t1;
+----+---------------------+
| ID | GMT_CREATE          |
+----+---------------------+
|  1 | 2020-02-28 09:47:07 |
|  2 | 2020-02-28 09:47:07 |
|  3 | 2020-02-28 09:47:07 |
+----+---------------------+
3 rows in set (0.00 sec)

obclient> drop table t1;
Query OK, 0 rows affected (0.03 sec)

obclient> show recyclebin\G
*************************** 1. row ***************************
  OBJECT_NAME: __recycle_$_20200102_1585650066255592
ORIGINAL_NAME: t1
         TYPE: TABLE
   CREATETIME: 2020-03-31 18:21:06.255716
1 row in set (0.03 sec)

obclient> flashback table __recycle_$_20200102_1585650066255592 to before drop rename to t1;
Query OK, 0 rows affected (0.02 sec)

obclient> select * from t1;
+----+---------------------+
| ID | GMT_CREATE          |
+----+---------------------+
|  1 | 2020-02-28 09:47:07 |
|  2 | 2020-02-28 09:47:07 |
|  3 | 2020-02-28 09:47:07 |
+----+---------------------+