作者:姚嵩
不知道是地球人还是外星人,知道的可以留言告诉小编...
本文来源:原创投稿
【资料图】
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
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,infofrom oceanbase.__all_virtual_processlistwhere 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_processlistwhere 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 ; -- 直接删除租户
3月28日,2023成都(邛崃)采茶季暨邛崃黑茶文化旅游节正式启动,将持续到4月5日。据邛崃市农业农村局局长杨昕之在开幕式上介绍,为深入推进农
【CNMO新闻】3月29日凌晨,有大量网友反映,称微信、QQ等腾讯旗下社交软件出现功能异常。微信包括语音呼叫、账号登录、朋友圈以及支付在内的多
在用酒精拖地的时候,要避免与裸露的皮肤接触,且不能将酒精直接泼在地面上,否则容易损伤地板,且空气中酒精浓度过高,存在危险;2 使用酒精拖地,要
观点网讯:3月28日,德商产投服务集团有限公司公布截至2022年12月31日止年度的年度业绩。截至2022年12月31日止年度,该集团实现收益约人民币2 67亿
1、《英汉疑问句形式化对比研究》是2014年郑州大学出版社出版的图书,作者是王瑞昀。本文关于英汉疑问句形式化对比研究
X 关闭
X 关闭