本节主要介绍租户级回收站的查看、开启、关闭及清理操作。
除了支持
DATABASE、
TABLE、
INDEX 等类型的回收站对象外,当前 OceanBase 数据库还支持租户级的回收站对象。
sys 租户不会被执行 Drop 操作,租户回收站的管理主要由
sys 租户来完成,
sys 租户通过执行各类回收站相关的命令来完成对租户回收站的管理。
租户的回收站对象仅可能出现在
sys 租户下。
注意事项
对于租户回收站对象:
-
DROP TENANT 操作仅仅是将租户名称变更为统一的回收站中的格式,租户实际占用的空间并没有释放,只是不能再向该租户建立新的连接。
-
执行
PURGE TENANT 时,可以使用原始名称和回收站中的名称。与
FLASHBACK 不同,
PURGE TENANT 时,如果多个原始名称相同,则删除的是最早进入回收站中的租户。
Flashback 回收站对象的相关操作请参见
闪回回收站对象。
查看回收站
在
sys 租户下使用
SHOW RECYCLEBIN 语句,可以查看
sys 租户中的所有回收站对象。
背景信息
sys 租户在对其他租户执行
DROP TENANT 操作时:
查看操作
-
使用
root 用户登录到数据库的
sys 租户。
-
执行以下语句,查看回收站对象。
示例如下:
obclient> SHOW RECYCLEBIN;
+--------------------------------+----------------+----------+----------------------------+
| OBJECT_NAME | ORIGINAL_NAME | TYPE | CREATETIME |
+--------------------------------+----------------+----------+----------------------------+
| __recycle_$_1_1600136460199936 | wendo_table | TABLE | 2020-09-15 10:21:00.207886 |
| __recycle_$_1_1600136479664128 | wendo_database | DATABASE | 2020-09-15 10:21:19.664534 |
| __recycle_$_1_1600135793000960 | mysql | TENANT | 2020-09-15 10:23:25.773877 |
+--------------------------------+----------------+----------+----------------------------+
3 rows in set
返回结果中:
-
OBJECT_NAME :表示该对象在回收站中的名称。
-
ORIGINAL_NAME :表示原对象名。
-
TYPE:表示回收站对象所属的类型。当前主要支持
INDEX、
TABLE 、
DATABASE 和
TENANT 等四种类型。本示例中,
mysql 即为一个租户类型的回收站对象。
-
CREATETIME:表示该对象进入回收站的时间。
开启和关闭回收站
sys 租户中默认回收站为关闭状态,如果开启了
sys 租户的回收站功能,则对某个租户执行
DROP TENANT 操作后,该租户会进入回收站。
具体操作如下:
-
使用
root 用户登录数据库的
sys 租户。
-
执行以下语句,查看回收站状态。
obclient> SHOW VARIABLES LIKE 'recyclebin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| recyclebin | OFF |
+---------------+-------+
1 row in set
-
执行以下语句,开启或关闭回收站功能。
由于变量
recyclebin 为 Bool 类型的变量,故支持多种取值,其中:
语句如下:
obclient> SET GLOBAL recyclebin = on;
obclient> SET GLOBAL recyclebin = off;
或者
obclient> SET GLOBAL recyclebin = 1;
obclient> SET GLOBAL recyclebin = 0;
或者
obclient> SET GLOBAL recyclebin = true;
obclient> SET GLOBAL recyclebin = false;
-
设置后,需要重新登录建立新的 Session 才能生效。
清理回收站
在
sys 租户中执行 Purge 操作,可以将回收站中的租户或所有对象彻底删除。
-
使用
root 用户登录数据库的
sys 租户。
-
根据业务需要,选择合适的语句,清理回收站。
-
(可选)完成后,可以执行以下语句,确认回收站中符合条件的对象是否被清理。
obclient> SHOW RECYCLEBIN;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026124/viewspace-2932862/
,如需转载,请注明出处,否则将追究法律责任。