首批通过分布式安全可靠测评,为关键业务系统打造
删除租户
更新时间:2026-04-15 17:16:58
OceanBase 数据库支持通过 DROP TENANT 语句删除租户。
删除租户后,租户下的数据库和表也同时被删除。但是租户使用的资源池不会被删除。资源池可以继续给其他租户使用。
当系统租户开启回收站功能时,
DROP TENANT操作表示删除的租户会进入回收站。对于回收站中的租户,后续系统租户可以通过租户级回收站功能进一步删除或恢复该租户,回收站相关操作参见 回收站概述。当系统租户关闭回收站功能时,
DROP TENANT操作会直接删除租户,租户下的数据库和表也同时被删除。
操作步骤
使用
root用户登录到集群的sys租户。obclient -h172.30.xx.xx -P2883 -uroot@sys#cluster -p**** -A进入
oceanbase数据库。obclient [(none)]> USE oceanbase;通过
DBA_OB_TENANTS视图,查看租户信息。根据租户的 ID、创建时间、资源分配等基本信息,确认是需要执行删除的租户。以查询租户
mq_t1的信息为例:obclient [oceanbase]> SELECT * FROM DBA_OB_TENANTS WHERE TENANT_NAME = 'mq_t1'\G返回结果如下:
*************************** 1. row *************************** TENANT_ID: 1036 TENANT_NAME: mq_t TENANT_TYPE: USER CREATE_TIME: 2025-06-20 09:50:54.113568 MODIFY_TIME: 2025-06-20 09:52:55.241069 PRIMARY_ZONE: zone1;zone2 LOCALITY: FULL{1}@zone1, FULL{1}@zone2 PREVIOUS_LOCALITY: NULL COMPATIBILITY_MODE: MYSQL STATUS: NORMAL IN_RECYCLEBIN: NO LOCKED: NO TENANT_ROLE: PRIMARY SWITCHOVER_STATUS: NORMAL SWITCHOVER_EPOCH: 0 SYNC_SCN: 1684396167132057328 REPLAYABLE_SCN: 1684396167132057328 READABLE_SCN: 1684396167051160964 RECOVERY_UNTIL_SCN: 4611686018427387903 LOG_MODE: NOARCHIVELOG ARBITRATION_SERVICE_STATUS: DISABLED UNIT_NUM: 1 ZONE_UNIT_NUM_LIST: zone1:1,zone2:1 COMPATIBLE: 4.2.5.5 MAX_LS_ID: 1002 FLASHBACK_LOG_SCN: NULL 1 row in setDBA_OB_TENANTS视图的详细说明,参见 DBA_OB_TENANTS。(可选)为防止恶意或误操作导致的数据不可恢复性丢失,OceanBase 数据库提供了租户级的回收站功能,从而支持租户级的数据的快速恢复功能。回收站默认关闭,您可以根据需要,开启租户级的回收站功能。有关回收站的详细说明,请参见 回收站。
开启租户级的回收站后,在系统租户下使用
SHOW RECYCLEBIN语句,可以查看当前系统租户 RECYCLEBIN 中的回收站对象。示例如下:obclient [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> DROP TENANT mq_t1;DROP TENANT语句的详细说明,参见 DROP TENANT。查看
DBA_OB_TENANTS视图,确认租户已经删除成功。obclient [oceanbase]> SELECT * FROM DBA_OB_TENANTS WHERE TENANT_NAME = 'mq_t1'; Empty set(可选)在操作步骤 4 中如果开启了回收站功能,则可以通过
SHOW RECYCLEBIN语句查看回收站中的信息。obclient [oceanbase]> SHOW RECYCLEBIN; +-------------------------------------+---------------+--------+----------------------------+ | OBJECT_NAME | ORIGINAL_NAME | TYPE | CREATETIME | +-------------------------------------+---------------+--------+----------------------------+ | __recycle_$_100017_1673367572701376 | mq_t1 | TENANT | 2025-06-20 09:50:54.113568 | +-------------------------------------+---------------+--------+----------------------------+ 1 row in set回收站相关参数的详细说明,参见 recyclebin。
相关文档
删除后若需要恢复租户,相关信息参见: