不知道是地球人還是外星人,知道的可以留言告訴小編...
*愛可生開源社區出品,原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。
簡介:
刪除租戶後,租戶下的數據庫和表也同時被刪除。
但是租戶使⽤的資源配置不會被刪除,資源配置可以繼續給其他租戶使⽤。
注意:
只有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;語句執⾏的延遲刪除
測試:
-- 環境準備
文章推薦:
愛可生開源社區的 SQLE 是一款面向數據庫使用者和管理者,支持多場景審覈,支持標準化上線流程,原生支持 MySQL 審覈且數據庫類型可擴展的 SQL 審覈工具。
類型 | 地址 |
---|---|
版本庫 | 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源創計劃”,歡迎正在閱讀的你也加入,一起分享。