codecamp

OceanBase FLASHBACK DATABASE

描述

用于从回收站中恢复被删除的 DATABASE。

前置条件

回收站需要处于开启状态,可以通过

show variables like 'recyclebin';

来查看回收站是否开启。

OceanBase(admin@test)> show variables like 'recyclebin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| recyclebin    | ON    |
+---------------+-------+
1 row in set (0.00 sec)

果回收站处于关闭状态,可以通过

set recyclebin = on;

来开启。回收站中的表没有被实际删除,仍然会占用资源,如果需要彻底删除,可以执行

purge recyclebin;

格式

 FLASHBACK DATABASE object_name TO BEFORE DROP [RENAME TO db_name];

参数解释

参数

解释

object_name

指定要恢复的 object 名称,不支持指定 DATABASE 名称。恢复 DATABASE 时,也会将 DATABASE 下面的表、索引等都恢复出来。

RENAME to

恢复时将 DATABASE 重命名。

示例

  • 从回收站中恢复删除的 DATABASE。
OceanBase(admin@test)> create database da;
Query OK, 1 row affected (0.03 sec)

OceanBase(admin@test)> drop database da;
Query OK, 0 rows affected (0.04 sec)

OceanBase(admin@test)> show recyclebin;
+--------------------------------------------------+---------------+----------+----------------------------+
| OBJECT_NAME                                      | ORIGINAL_NAME | TYPE     | CREATETIME                 |
+--------------------------------------------------+---------------+----------+----------------------------+
| __recycle_$_1_1099511628829_18446744073709551615 | da            | DATABASE | 2017-10-20 17:36:15.838771 |
+--------------------------------------------------+---------------+----------+----------------------------+
1 row in set (0.02 sec)

OceanBase(admin@test)> flashback database __recycle_$_1_1099511628829_18446744073709551615 to before drop;
Query OK, 0 rows affected (0.03 sec)


OceanBase EXPLAIN
OceanBase FLASHBACK TABLE
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }