作者:姚嵩
【資料圖】
不知道是地球人還是外星人,知道的可以留言告訴小編...
本文來(lái)源:原創(chuàng)投稿
*愛(ài)可生開(kāi)源社區(qū)出品,原創(chuàng)內(nèi)容未經(jīng)授權(quán)不得隨意使用,轉(zhuǎn)載請(qǐng)聯(lián)系小編并注明來(lái)源。
背景:
ob中的租戶相當(dāng)于我們平常認(rèn)知的數(shù)據(jù)庫(kù)集群,對(duì)外提供數(shù)據(jù)庫(kù)服務(wù)。
當(dāng)需要?jiǎng)h除ob中的租戶時(shí),會(huì)刪除該租戶下的所有對(duì)象,包含數(shù)據(jù)庫(kù)、表等。
數(shù)據(jù)是?常重要的,為了避免意外情況,
此時(shí),你可能需要設(shè)置多種策略,以便確認(rèn)&處理?些異常場(chǎng)景:
1.確認(rèn)該租戶刪除后,業(yè)務(wù)是否會(huì)有異議;
2.刪除租戶后,如果業(yè)務(wù)需要,也可以恢復(fù)該租戶;
環(huán)境說(shuō)明:
ob版本: 5.7.25-OceanBase-v3.2.3.2
租戶類型: MySQL租戶
待刪租戶名: obcp_t1
刪除租戶的?概流程:
1.確認(rèn)租戶當(dāng)前是否正在被使?,如果租戶當(dāng)前正在被業(yè)務(wù)使?,則和業(yè)務(wù)溝通確認(rèn)租戶是否真的要?jiǎng)h除;
2.如果租戶未被使?,鎖定租戶;
3.?掉租戶現(xiàn)有的空閑連接,防?現(xiàn)有連接執(zhí)?SQL;
4.租戶鎖定N天,等待業(yè)務(wù)反饋是否受影響,避免待刪除的租戶影響業(yè)務(wù)模塊;
5.業(yè)務(wù)反饋?影響后,刪除租戶。
操作步驟:
說(shuō)明:
下?的操作都是使?sys租戶下的root賬戶操作;
建議采?直接連接observer的連接?式,因?yàn)閳?zhí)?kill的操作需要直連observer執(zhí)?
(kill的session_id來(lái)源于oceanbase.__all_virtual_processlist表)。
-- 設(shè)置?戶變量存儲(chǔ)租戶名
set @tenant_name="obcp_t1";-- 確定租戶當(dāng)前是否正被使?
-- 如果存在?Sleep狀態(tài)的會(huì)話,需要確認(rèn)是否正在執(zhí)?SQL,如果存在,需要和業(yè)務(wù)溝通租戶是否正確
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 ;-- 如果租戶當(dāng)前?業(yè)務(wù)執(zhí)?,鎖定租戶
-- 鎖定租戶后,就不能在該租戶上創(chuàng)建新的連接,已有連接保持不變
alter tenant obcp_t1 lock ; -- 鎖定是冪等操作,可以重復(fù)執(zhí)? select tenant_name,locked from __all_tenant ; -- 1表示鎖定,0表示未鎖定-- ?成kill租戶會(huì)話的語(yǔ)句
select concat("kill ",id,";") from oceanbase.__all_virtual_processlistwhere tenant=@tenant_name;-- (直連observer)執(zhí)?上?個(gè)步驟?成的kill語(yǔ)句,殺掉租戶已有的連接
kill xxx;.....-- N天后,業(yè)務(wù)反饋?影響,再繼續(xù)租戶刪除步驟
-- (MySQL租戶可選)刪除租戶時(shí),將租戶放?回收站,可以恢復(fù)回收站中的租戶
set recyclebin=1; DROP TENANT obcp_t1 ;show parameters like "recyclebin_object_expire_time"; -- 查看?動(dòng)清理回收站的時(shí)間-- 直接刪除租戶
drop tenant ${object_name} force ; -- 刪除回收站中的租戶,object_name可由show recyclebin獲取drop tenant obcp_t1 force ; -- 直接刪除租戶
標(biāo)簽:



【資料圖】








