OB运维 | tenant--删除租户的流程设计

作者:姚嵩

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

本文来源:原创投稿

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


背景:

ob中的租户相当于我们平常认知的数据库集群,对外提供数据库服务。

当需要删除ob中的租户时,会删除该租户下的所有对象,包含数据库、表等。

数据是⾮常重要的,为了避免意外情况,

此时,你可能需要设置多种策略,以便确认&处理⼀些异常场景:

1.确认该租户删除后,业务是否会有异议;

2.删除租户后,如果业务需要,也可以恢复该租户;

环境说明:

ob版本: 5.7.25-OceanBase-v3.2.3.2

租户类型: MySQL租户

待删租户名: obcp_t1

删除租户的⼤概流程:

1.确认租户当前是否正在被使⽤,如果租户当前正在被业务使⽤,则和业务沟通确认租户是否真的要删除;

2.如果租户未被使⽤,锁定租户;

3.⼲掉租户现有的空闲连接,防⽌现有连接执⾏SQL;

4.租户锁定N天,等待业务反馈是否受影响,避免待删除的租户影响业务模块;

5.业务反馈⽆影响后,删除租户。

操作步骤:

说明:

下⾯的操作都是使⽤sys租户下的root账户操作;

建议采⽤直接连接observer的连接⽅式,因为执⾏kill的操作需要直连observer执⾏
(kill的session_id来源于oceanbase.__all_virtual_processlist表)。

-- 设置⽤户变量存储租户名

set @tenant_name='obcp_t1';

-- 确定租户当前是否正被使⽤

-- 如果存在⾮Sleep状态的会话,需要确认是否正在执⾏SQL,如果存在,需要和业务沟通租户是否正确

select user,tenant,host,db,command,svr_ip,user_client_ip,
  trans_id,thread_id,total_time,info
from oceanbase.__all_virtual_processlist
where tenant=@tenant_name and command!='Sleep'
order by total_time desc ;

-- 如果租户当前⽆业务执⾏,锁定租户

-- 锁定租户后,就不能在该租户上创建新的连接,已有连接保持不变

alter tenant obcp_t1 lock ; -- 锁定是幂等操作,可以重复执⾏ 
select tenant_name,locked from __all_tenant ; -- 1表示锁定,0表示未锁定

-- ⽣成kill租户会话的语句

select concat('kill ',id,';') from oceanbase.__all_virtual_processlist
where tenant=@tenant_name;

-- (直连observer)执⾏上⼀个步骤⽣成的kill语句,杀掉租户已有的连接

kill xxx;
.....

-- N天后,业务反馈⽆影响,再继续租户删除步骤

-- (MySQL租户可选)删除租户时,将租户放⼊回收站,可以恢复回收站中的租户

set recyclebin=1; DROP TENANT obcp_t1 ;
show parameters like 'recyclebin_object_expire_time'; -- 查看⾃动清理回收站的时间

-- 直接删除租户

drop tenant ${object_name} force ; -- 删除回收站中的租户,object_name可由show recyclebin获取
drop tenant obcp_t1 force ; -- 直接删除租户

中国领先的企业数据处理技术整体解决方案提供商,开源数据库领域优秀企业。为大型行业用户的特定场景提...

371 声望
180 粉丝
0 条评论
推荐阅读
从 MySQL 到 OBOracle:如何处理自增列?
业务需要将数据库转换为 OceanBase 数据库,但源端涉及到 Oracle 及 MySQL 两种不同数据库,需要合并为 OceanBase 中单一的 Oracle 模式,其中源端 MySQL 数据库需要改造为 OB Oracle 并做异构数据迁移。在数据迁...

爱可生云数据库

华东师范大学副校长周傲英:未来,中国需要什么样的数据库?
本文为华东师范大学副校长,CCF 会士周傲英教授在第一届 OceanBase 开发者大会带来的分享。欢迎访问 OceanBase 官网获取更多信息:[链接]

OceanBase技术站阅读 1k

封面图
四川农信:与先进科技融合,更好服务广大用户|客户之声
1951 年 12 月 25 日,四川省农村信用社联合社(以下简称“四川农信”)诞生于泸州黄舣乡。经几代四川农信人接续奋斗,七十余年栉风沐雨,四川农信已经成长为全省业务规模最大、服务网络最广、员工数量最多、历史底...

OceanBase技术站阅读 706

封面图
ODC,是另一个 Navicat 吗?
OceanBase Developer Center 项目组核心成员,负责 ODC 开发者工具的整体研发工作。曾做过 TSDB 存储引擎、SaaS 安全软件,对数据库协同、研发效率、数据安全、云原生架构等有浓厚兴趣。

OceanBase技术站阅读 650

封面图
掌玩科技×OceanBase:HTAP实时数据分析,降低80%存储成本
近日,新兴游戏公司海南掌玩网络科技有限公司(以下简称“掌玩科技”)正式牵手原生分布式数据库 OceanBase,其投放系统、用户分析系统、数据系统、运营分析系统等数套系统均接入了 OceanBase。 通过 OceanBase 的 ...

OceanBase技术站阅读 616

封面图
陈小伟:从ChatGPT谈起,预测5个数据库开发趋势
3 月 25 日,第一届 OceanBase 开发者大会在北京举行,OceanBase 生态产品技术专家陈小伟为大家带来了 《数据库协同开发的现状和发展趋势》 的分享,从热门的 ChatGPT 谈到数据库的协同开发,与大家一起洞悉行业...

OceanBase技术站阅读 572

封面图
OceanBase入选啦!金融信创优秀解决方案(第二期)
近日,金融信创生态实验室在京举办金融信创解决方案研讨会,正式发布第二期金融信创优秀解决方案,OceanBase 基于数据库的金融核心业务解决方案成功入选该名单。

OceanBase技术站阅读 510

封面图

中国领先的企业数据处理技术整体解决方案提供商,开源数据库领域优秀企业。为大型行业用户的特定场景提...

371 声望
180 粉丝
宣传栏