首批通过分布式安全可靠测评,为关键业务系统打造
开启或关闭回收站
更新时间:2026-04-10 11:58:01
在 OceanBase 数据库中,通过系统变量 recyclebin 来控制回收站的开启和关闭,默认回收站为关闭状态。如果开启了回收站功能,则在对某个数据库对象或租户执行 Drop 操作后,该对象或租户就会进入回收站。
背景信息
OceanBase 数据库的系统变量分为全局变量和 Session 变量。在开始或关闭回收站时,可以根据需要选择合适的设置方式。
全局变量:表示 Global 级别的修改,数据库同一租户内的不同用户共享全局变量。全局变量的修改不会随会话的退出而失效。此外,全局变量修改后,对当前已打开的 Session 不生效,需要重新建立 Session 才能生效。
Session 变量:表示 Session 级别的修改。当客户端连接到数据库后,数据库会复制全局变量来自动生成 Session 变量。Session 变量的修改仅对当前 Session 生效。
在 OceanBase 数据库中,sys 租户和用户租户可管理的回收站对象如下所示。
sys租户开启回收站后,可以管理的回收站对象包括数据库、表、索引以及租户。MySQL 用户租户开启回收站后,可以管理的回收站对象包括数据库、表和索引。
Oracle 用户租户开启回收站后,可以管理的回收站对象包括表和索引。
操作步骤
sys租户或用户租户的租户管理员登录到数据库。说明
MySQL 租户的管理员用户为
root用户,Oracle 租户的管理员用户为SYS用户。连接示例如下,连接数据库时请以实际环境为准。
obclient -h10.xx.xx.xx -P2883 -uroot@sys#obdemo -p***** -A有关更加详细的连接数据库的操作指引,参见 连接数据库概述(MySQL 模式) 和 连接数据库概述(Oracle 模式)。
执行以下语句,查看回收站状态。
obclient [(none)]> SHOW VARIABLES LIKE 'recyclebin'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | recyclebin | ON | +---------------+-------+ 1 row in set根据业务需要,选择合适的方式开启或关闭回收站功能。
由于变量
recyclebin为 Bool 类型的变量,故支持多种取值,其中:on、1或true:表示开启回收站。off、0或false:表示关闭回收站。针对整个租户(Global)开启或关闭回收站
Global 设置在整个租户内生效。设置后,对当前 Session 无效,需要重新登录建立新的 Session 才会生效。
语句如下:
obclient [(none)]> SET GLOBAL recyclebin = on; obclient [(none)]> SET GLOBAL recyclebin = off;或者
obclient [(none)]> SET GLOBAL recyclebin = 1; obclient [(none)]> SET GLOBAL recyclebin = 0;或者
obclient [(none)]> SET GLOBAL recyclebin = true; obclient [(none)]> SET GLOBAL recyclebin = false;针对当前会话(Session)开启或关闭回收站
Session 设置仅对当前 Session 有效。
obclient [(none)]> SET @@recyclebin = on; obclient [(none)]> SET @@recyclebin = off;或者
obclient [(none)]> SET @@recyclebin = 1; obclient [(none)]> SET @@recyclebin = 0;或者
obclient [(none)]> SET @@recyclebin = true; obclient [(none)]> SET @@recyclebin = false;
相关文档
更多回收站相关的内容,请参见以下信息: