每日速訊:OB運(yùn)維 | tenant--刪除租戶的流程設(shè)計(jì)
2023-03-30 08:19:21 來(lái)源:騰訊云
1
聽(tīng)新聞

作者:姚嵩


【資料圖】

不知道是地球人還是外星人,知道的可以留言告訴小編...

本文來(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)簽:

責(zé)編:

精彩推送


中阳县| 广州市| 新巴尔虎左旗| 安丘市| 海淀区| 武安市| 务川| 泽库县| 阿克陶县| 巫山县| 翁牛特旗| 南开区| 清水县| 连江县| 多伦县| 丹东市| 南开区| 惠安县| 绵阳市| 宜良县| 军事| 原阳县| 雷州市| 洛川县| 德江县| 安仁县| 松江区| 凤山市| 新密市| 武邑县| 玛多县| 蒙城县| 石家庄市| 菏泽市| 盐山县| 淅川县| 观塘区| 集贤县| 全州县| 冷水江市| 台南县|