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

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

    1. set global recyclebin = ON | OFF ;

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

    • 示例:闪回被删除的表。
    1. obclient> create table t1(id number not null primary key, gmt_create date not null default sysdate);
    2. Query OK, 0 rows affected (0.09 sec)
    3. obclient> insert into t1(id) values(1),(2),(3);
    4. Query OK, 3 rows affected (0.02 sec)
    5. Records: 3 Duplicates: 0 Warnings: 0
    6. obclient> select * from t1;
    7. +----+---------------------+
    8. | ID | GMT_CREATE |
    9. +----+---------------------+
    10. | 1 | 2020-04-02 18:20:49 |
    11. | 2 | 2020-04-02 18:20:49 |
    12. | 3 | 2020-04-02 18:20:49 |
    13. +----+---------------------+
    14. 3 rows in set (0.00 sec)
    15. obclient> drop table t1;
    16. Query OK, 0 rows affected (0.03 sec)
    17. obclient> show recyclebin;
    18. +-------------------------------------+------------------------------------+-------+----------------------------+
    19. | OBJECT_NAME | ORIGINAL_NAME | TYPE | CREATETIME |
    20. +-------------------------------------+------------------------------------+-------+----------------------------+
    21. | RECYCLE_$_20200102_1585822884952336 | T1 | TABLE | 2020-04-02 18:21:24.952475 |
    22. +-------------------------------------+------------------------------------+-------+----------------------------+
    23. 1 rows in set (0.01 sec)
    24. obclient> flashback table RECYCLE_$_20200102_1585822884952336 to before drop rename to t1;
    25. Query OK, 0 rows affected (0.02 sec)
    26. obclient> select * from t1;
    27. +----+---------------------+
    28. | ID | GMT_CREATE |
    29. +----+---------------------+
    30. | 1 | 2020-04-02 18:20:49 |
    31. | 2 | 2020-04-02 18:20:49 |
    32. | 3 | 2020-04-02 18:20:49 |
    33. +----+---------------------+
    34. 3 rows in set (0.00 sec)