首批通过分布式安全可靠测评,为关键业务系统打造
删除租户
更新时间:2026-06-03 16:01:14
OceanBase 数据库支持通过 DROP TENANT 语句删除租户。
删除租户后,租户下的数据库和表也同时被删除。但是租户使用的资源池不会被删除。资源池可以继续给其他租户使用。
当系统租户开启回收站功能时,
DROP TENANT操作表示删除的租户会进入回收站。对于回收站中的租户,后续系统租户可以通过租户级回收站功能进一步删除或恢复该租户,回收站相关操作参见 回收站概述。当系统租户关闭回收站功能时,
DROP TENANT操作会直接删除租户,租户下的数据库和表也同时被删除。
操作步骤
使用
root用户登录到集群的sys租户。obclient -h172.30.xx.xx -P2883 -uroot@sys#cluster -p**** -A进入
oceanbase数据库。obclient(root@sys)[(none)]> USE oceanbase;通过
DBA_OB_TENANTS视图,查看租户信息。根据租户的 ID、创建时间、资源分配等基本信息,确认是需要执行删除的租户。以查询租户
mq_t1的信息为例:obclient(root@sys)[oceanbase]> SELECT TENANT_ID, TENANT_NAME, TENANT_TYPE, CREATE_TIME, PRIMARY_ZONE, LOCALITY, COMPATIBILITY_MODE, STATUS FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = 'mq_t1';查询结果如下:
+-----------+-------------+-------------+----------------------------+--------------+---------------+--------------------+--------+ | TENANT_ID | TENANT_NAME | TENANT_TYPE | CREATE_TIME | PRIMARY_ZONE | LOCALITY | COMPATIBILITY_MODE | STATUS | +-----------+-------------+-------------+----------------------------+--------------+---------------+--------------------+--------+ | 1036 | mq_t1 | USER | 2023-01-11 00:23:36.317242 | zone1;zone2 | FULL{1}@zone1 | MYSQL | NORMAL | +-----------+-------------+-------------+----------------------------+--------------+---------------+--------------------+--------+ 1 row in setDBA_OB_TENANTS视图的详细说明,参见 DBA_OB_TENANTS。(可选)为防止恶意或误操作导致的数据不可恢复性丢失,OceanBase 数据库提供了租户级的回收站功能,从而支持租户级的数据的快速恢复功能。回收站默认关闭,您可以根据需要,开启租户级的回收站功能。有关回收站的详细说明,请参见 回收站。
在系统租户下使用
SHOW RECYCLEBIN语句,可以查看当前系统租户 RECYCLEBIN 中的回收站对象。示例如下:obclient(root@sys)[oceanbase]> SHOW RECYCLEBIN;返回结果如下:
+--------------------------------+-----------------+----------+----------------------------+ | OBJECT_NAME | ORIGINAL_NAME | TYPE | CREATETIME | +--------------------------------+-----------------+----------+----------------------------+ | __recycle_$_1_1600136460199936 | obdemo_table | TABLE | 2020-09-15 10:21:00.207886 | | __recycle_$_1_1600136479664128 | obdemo_database | DATABASE | 2020-09-15 10:21:19.664534 | | __recycle_$_1_1600135793000960 | omysql | TENANT | 2020-09-15 10:23:25.773877 | +--------------------------------+-----------------+----------+----------------------------+ 3 rows in set参数说明:
OBJECT_NAME:表示该对象在回收站中的名称。ORIGINAL_NAME:表示原对象名。TYPE:表示回收站对象所属的类型。当前主要支持 INDEX、TABLE、DATABASE 和 TENANT 等四种类型。本示例中,omysql 即为一个租户类型的回收站对象。CREATETIME:表示该对象进入回收站的时间。
通过
DROP TENANT语句,删除租户。obclient(root@sys)[oceanbase]> DROP TENANT mq_t1;DROP TENANT语句的详细说明,参见 DROP TENANT。查看
DBA_OB_TENANTS视图,确认租户已经删除成功。obclient(root@sys)[oceanbase]> SELECT * FROM DBA_OB_TENANTS WHERE TENANT_NAME = 'mq_t1'; Empty set(可选)在操作步骤 4 中如果开启了回收站功能,则可以通过
SHOW RECYCLEBIN语句查看回收站中的信息。obclient(root@sys)[oceanbase]> SHOW RECYCLEBIN;查询结果如下:
+-------------------------------------+---------------+--------+----------------------------+ | OBJECT_NAME | ORIGINAL_NAME | TYPE | CREATETIME | +-------------------------------------+---------------+--------+----------------------------+ | __recycle_$_100017_1673367572701376 | mq_t1 | TENANT | 2023-01-11 00:23:36.317242 | +-------------------------------------+---------------+--------+----------------------------+ 1 row in set回收站相关参数的详细说明,参见 recyclebin。
相关文档
删除后若需要恢复租户,相关信息参见: