OB运维 | tenant--删除租户的命令

作者:姚嵩

不知道是地球人还是外星人,知道的可以留言告诉小编...

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


简介:

删除租户后,租户下的数据库和表也同时被删除。

但是租户使⽤的资源配置不会被删除,资源配置可以继续给其他租户使⽤。

注意:

只有sys租户的root⽤户才能执⾏drop tenant命令。

语法:

DROP TENANT [IF EXISTS] tenant_name [PURGE|FORCE];

删除租户的⽅式:

删除租户⽅式的区别:

查看和设置延迟回收时间:

show parameters like 'schema_history_expire_time'; -- 取值范围[1h, 30d],默认7天;
alter system set schema_history_expire_time='7d' ; -- 设置延迟回收时间,设置即⽣效;

查看和设置回收站⾃动清理时间:

 show parameters like 'recyclebin_object_expire_time'; -- 取值范围[0s, +∞),0s表示关闭⾃动回收功能;
ALTER SYSTEM SET recyclebin_object_expire_time = "7d"; -- 设置⾃动清理时间,设置即⽣效;

回收站中租户的处理:

删除租户,将其置于回收站中:

set recyclebin=1; DROP TENANT t1;
查看回收站中的租户:
 show recyclebin ;
select tenant_name,status,in_recyclebin,
from_unixtime(substr(drop_tenant_time,1,10),"%Y-%m-%d %H:%i:%s") drop_tenant_time
from oceanbase.__all_tenant where in_recyclebin=1 ;
恢复回收站中的租户(回收租户时,租户名可⽤租户原始名称或者回收站中的对象名):
 FLASHBACK TENANT t1 TO BEFORE DROP ; -- 使⽤租户原始名称恢复
FLASHBACK TENANT __recycle_$_1665918035_1676612471384576 TO BEFORE DROP ; -- 使⽤租户回收站中的名称恢复
select tenant_name,status,in_recyclebin,
from_unixtime(substr(drop_tenant_time,1,10),"%Y-%m-%d %H:%:%s") drop_tenant_time
from oceanbase.__all_tenant where tenant_name='t1' ;
清除回收站中的租户:
 -- purge只会删除回收站中的租户,并把租户转为延迟删除,所以资源并未释放
purge tenant t1 ; -- 可以使⽤租户名清除
purge tenant __recycle_$_1665918035_1676617637326848 ; -- 可以使⽤对象名清除
-- drop会删除回收站中的租户,以及__all_tenant中的记录,真正释放了资源池
drop tenant __recycle_$_1665918035_1676613654350848 force; -- 只能使⽤对象名

验证租户是否已永久删除(已不存在租户对应的条⽬):

show recyclebin ;
select tenant_name,status,in_recyclebin,
from_unixtime(substr(drop_tenant_time,1,10),"%Y-%m-%d %H:%i:%s") drop_tenant_time
from oceanbase.__all_tenant ;

延迟删除的租户的处理:

延迟删除租户(两种⽅法):

set recyclebin=0; DROP TENANT t2;
DROP TENANT t2 PURGE;
查看延迟删除的租户:
select tenant_name,status,in_recyclebin,
from_unixtime(substr(drop_tenant_time,1,10),"%Y-%m-%d %H:%i:%s") drop_tenant_time
from oceanbase.__all_tenant where status='TENANT_STATUS_DROPPING';
⼿动删除延迟删除的租户:
drop tenant t2 force

⽴即删除租户:

⽴即/永久删除租户的命令:
drop tenant t3 force ;

租户的不同状态说明:

status 值为 TENANT_STATUS_NORMAL,表示正常的租户;

in_recyclebin 值为 1,表示租户此时正在回收站中;

status 值为 TENANT_STATUS_DROPPING,且tenant_name以 _recycle$ 开头,表示已使⽤purge语句将租户从回收站中删除,租户已转为延迟删除状态;

status 值为 TENANT_STATUS_DROPPING,且tenant_name不以 _recycle$ 开头,表示租户是通过DROP TENANT xx PURGE;语句执⾏的延迟删除

测试:

-- 环境准备

-- 恢复回收站中的租户
-- 删除回收站中的租户
-- 延迟删除租户
-- ⽴即删除租户
本文关键字 #租户# #删除租户#

文章推荐:

OB运维 | 连接 kill 中的 session_id

故障分析 | MySQL OOM 故障应如何下手

技术分享 | MySQL中查询会锁表 ?


关于SQLE

可生开源社区的 SQLE 是一款面向数据库使用者和管理者,支持多场景审核,支持标准化上线流程,原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具。

SQLE 获取
类型 地址
版本库 https://github.com/actiontech/sqle
文档 https://actiontech.github.io/sqle-docs-cn/
发布信息 https://github.com/actiontech/sqle/releases
数据审核插件开发文档 https://actiontech.github.io/sqle-docs-cn/3.modules/3.7_auditplugin/auditplugin_development.html

更多关于 SQLE 的信息和交流,请加入官方QQ交流群:637150065...

本文分享自微信公众号 - 爱可生开源社区(ActiontechOSS)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章