111 lines
2.6 KiB
Markdown
111 lines
2.6 KiB
Markdown
FLASHBACK TABLE
|
|
====================================
|
|
|
|
|
|
|
|
描述
|
|
-----------
|
|
|
|
用于从回收站中恢复被删除的TABLE。
|
|
|
|
前置条件
|
|
-------------
|
|
|
|
回收站需要处于开启状态,可以通过
|
|
|
|
`show variables like 'recyclebin';`
|
|
|
|
来查看回收站是否开启。
|
|
|
|
```javascript
|
|
OceanBase(admin@test)> show variables like 'recyclebin';
|
|
+---------------+-------+
|
|
| Variable_name | Value |
|
|
+---------------+-------+
|
|
| recyclebin | ON |
|
|
+---------------+-------+
|
|
1 row in set (0.00 sec)
|
|
```
|
|
|
|
|
|
|
|
如果回收站处于关闭状态,可以通过
|
|
|
|
`set recyclebin = on;`
|
|
|
|
来开启。回收站中的表没有被实际删除,仍然会占用资源,如果需要彻底删除,可以执行
|
|
|
|
`purge recyclebin;`
|
|
|
|
格式
|
|
-----------
|
|
|
|
```javascript
|
|
FLASHBACK TABLE object_name TO BEFORE DROP [RENAME to db_name.table_name];
|
|
```
|
|
|
|
|
|
|
|
参数解释
|
|
-------------
|
|
|
|
|
|
|
|
| **参数** | **解释** |
|
|
|-------------|-------------------------------------------------------------------------|
|
|
| object_name | 指定要恢复的object名称或表名,只有在表所在的database中才能执行。恢复TABLE时,也会将和TABLE相关的INDEX也恢复出来。 |
|
|
| RENAME to | 修改表名和表所属的库。 |
|
|
|
|
|
|
|
|
示例
|
|
-----------
|
|
|
|
* 从回收站中恢复被删除的表t。
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
OceanBase(admin@test)> create table t(id int primary key, k int);
|
|
Query OK, 0 rows affected (0.04 sec)
|
|
|
|
OceanBase(admin@test)> insert into t values(1,1);
|
|
Query OK, 1 row affected (0.00 sec)
|
|
|
|
OceanBase(admin@test)> select * from t;
|
|
+----+------+
|
|
| id | k |
|
|
+----+------+
|
|
| 1 | 1 |
|
|
+----+------+
|
|
1 row in set (0.00 sec)
|
|
|
|
OceanBase(admin@test)> drop table t;
|
|
Query OK, 0 rows affected (0.01 sec)
|
|
|
|
OceanBase(admin@test)> select * from t;
|
|
ERROR 1146 (42S02): Table 'test.t' does not exist
|
|
OceanBase(admin@test)> show recyclebin;
|
|
+--------------------------------+---------------+-------+----------------------------+
|
|
| OBJECT_NAME | ORIGINAL_NAME | TYPE | CREATETIME |
|
|
+--------------------------------+---------------+-------+----------------------------+
|
|
| __recycle_$_1_1597028971700936 | t | TABLE | 2020-08-10 11:09:31.701033 |
|
|
+--------------------------------+---------------+-------+----------------------------+
|
|
1 row in set (0.00 sec)
|
|
|
|
OceanBase(admin@test)> flashback table t to before drop;
|
|
Query OK, 0 rows affected (0.01 sec)
|
|
|
|
OceanBase(admin@test)> select * from t;
|
|
+----+------+
|
|
| id | k |
|
|
+----+------+
|
|
| 1 | 1 |
|
|
+----+------+
|
|
1 row in set (0.00 sec)
|
|
```
|
|
|
|
|
|
|