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源創計劃”,歡迎正在閱讀的你也加入,一起分享。

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