OceanBaseデータベースでは、DROP TENANT ステートメントを使用してテナントを削除できます。
テナントを削除すると、そのテナントに属するデータベースやテーブルも同時に削除されます。ただし、テナントが使用していたリソースプールは削除されません。このリソースプールは他のテナントでも引き続き利用可能です。
システムテナントでゴミ箱機能が有効な場合、
DROP TENANT操作は削除されたテナントをゴミ箱に移動します。ゴミ箱内のテナントについては、後続のシステムテナントがテナントレベルのゴミ箱機能を通じてさらに削除または復元できます。ゴミ箱関連の操作については、ゴミ箱の概要を参照してください。システムテナントでゴミ箱機能が無効な場合、
DROP TENANT操作はテナントを直接削除し、そのテナントに属するデータベースやテーブルも同時に削除されます。
操作手順
rootユーザーでクラスタのsysテナントにログインします。obclient -h172.30.xx.xx -P2883 -uroot@sys#cluster -p**** -Aoceanbaseデータベースに移動します。obclient [(none)]> USE oceanbase;DBA_OB_TENANTSビューを使用して、テナント情報を確認します。テナントのID、作成時間、リソース割り当てなどの基本情報に基づいて、削除対象のテナントを特定します。テナント
mq_t1の情報を照会する例を以下に示します:obclient [oceanbase]> SELECT * FROM DBA_OB_TENANTS WHERE TENANT_NAME = 'mq_t1'; +-----------+-------------+-------------+----------------------------+----------------------------+--------------+------------------------------+-------------------+--------------------+--------+---------------+--------+-------------+-------------------+------------------+---------------------+---------------------+---------------------+---------------------+--------------+----------------------------+ | TENANT_ID | TENANT_NAME | TENANT_TYPE | CREATE_TIME | MODIFY_TIME | PRIMARY_ZONE | LOCALITY | PREVIOUS_LOCALITY | COMPATIBILITY_MODE | STATUS | IN_RECYCLEBIN | LOCKED | TENANT_ROLE | SWITCHOVER_STATUS | SWITCHOVER_EPOCH | SYNC_SCN | REPLAYABLE_SCN | READABLE_SCN | RECOVERY_UNTIL_SCN | LOG_MODE | ARBITRATION_SERVICE_STATUS | +-----------+-------------+-------------+----------------------------+----------------------------+--------------+------------------------------+-------------------+--------------------+--------+---------------+--------+-------------+-------------------+------------------+---------------------+---------------------+---------------------+---------------------+--------------+----------------------------+ | 1036 | mq_t1 | USER | 2023-05-18 15:48:57.447657 | 2023-05-18 15:49:12.857944 | zone1;zone2 | FULL{1}@zone1, FULL{1}@zone2 | NULL | MYSQL | NORMAL | NO | NO | PRIMARY | NORMAL | 0 | 1684396167132057328 | 1684396167132057328 | 1684396167051160964 | 4611686018427387903 | NOARCHIVELOG | DISABLED | +-----------+-------------+-------------+----------------------------+----------------------------+--------------+------------------------------+-------------------+--------------------+--------+---------------+--------+-------------+-------------------+------------------+---------------------+---------------------+---------------------+---------------------+--------------+----------------------------+ 1 row in setDBA_OB_TENANTSビューの詳細については、DBA_OB_TENANTSを参照してください。(オプション)悪意ある操作や誤操作によるデータの復元不能な損失を防ぐため、OceanBaseデータベースではテナントレベルのごみ箱機能が提供されており、テナントレベルのデータの迅速な復旧をサポートしています。ごみ箱はデフォルトで無効になっていますが、必要に応じて有効にすることができます。ごみ箱の詳細については、ごみ箱を参照してください。
システムテナントで
SHOW RECYCLEBINステートメントを使用すると、現在のシステムテナントRECYCLEBIN内のごみ箱オブジェクトを確認できます。例:obclient [oceanbase]> SHOW RECYCLEBIN; +--------------------------------+----------------+----------+----------------------------+ | OBJECT_NAME | ORIGINAL_NAME | TYPE | CREATETIME | +--------------------------------+----------------+----------+----------------------------+ | __recycle_$_1_1600136460199936 | obdemo_table | TABLE | 2020-09-15 10:21:00.207886 | | __recycle_$_1_1600136479664128 | obdemo_database | DATABASE | 2020-09-15 10:21:19.664534 | | __recycle_$_1_1600135793000960 | omysql | TENANT | 2020-09-15 10:23:25.773877 | +--------------------------------+----------------+----------+----------------------------+ 3 rows in setパラメータの説明:
OBJECT_NAME:ごみ箱内のオブジェクト名を表します。ORIGINAL_NAME:元のオブジェクト名を表します。TYPE:ごみ箱オブジェクトが属するタイプを表します。現在主にINDEX、TABLE、DATABASE、TENANTの4種類をサポートしています。この例では、omysqlはテナントタイプのごみ箱オブジェクトです。CREATETIME:このオブジェクトがごみ箱に移動した時間を表します。
DROP TENANTステートメントを使用して、テナントを削除します。obclient> DROP TENANT mq_t1;DROP TENANTステートメントの詳細については、DROP TENANTを参照してください。DBA_OB_TENANTSビューを確認し、テナントが正常に削除されたことを確認します。obclient [oceanbase]> SELECT * FROM DBA_OB_TENANTS WHERE TENANT_NAME = 'mq_t1'; Empty set(オプション)手順4でごみ箱機能を有効にした場合は、
SHOW RECYCLEBINステートメントを使用してごみ箱内の情報を確認できます。obclient [oceanbase]> SHOW RECYCLEBIN; +-------------------------------------+---------------+--------+----------------------------+ | OBJECT_NAME | ORIGINAL_NAME | TYPE | CREATETIME | +-------------------------------------+---------------+--------+----------------------------+ | __recycle_$_100017_1673367572701376 | mq_t1 | TENANT | 2023-01-11 00:23:36.317242 | +-------------------------------------+---------------+--------+----------------------------+ 1 row in setごみ箱関連パラメータの詳細については、recyclebinを参照してください。
関連ドキュメント
削除後にテナントを復元する必要がある場合は、以下のドキュメントを参照してください。