悪意または誤操作によるデータの不可逆的な損失を防ぐため、OceanBaseデータベースではごみ箱機能が提供されており、テナントレベルでの迅速なデータ復元をサポートしています。本記事では、ごみ箱内のテナントを復元する方法について説明します。
OceanBaseデータベースでは、FLASHBACK TENANT ステートメントを使用してごみ箱内のテナントを復元できます。
制限事項
現在、テナントを削除できるのはsysテナントのみであるため、MySQLモードおよびOracleモードのテナントが削除された場合、そのテナントはsysテナントのゴミ箱に移動します。また、テナントを復元する操作を実行できるのもsysテナントのみです。
操作手順
rootユーザーでクラスタのsysテナントにログインします。
obclient -h172.30.xx.xx -P2883 -uroot@sys#cluster -p**** -Aoceanbaseデータベースに移動します。obclient [(none)]> USE oceanbase;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を参照してください。
FLASHBACK TENANTステートメントを使用して、ごみ箱内のテナントを復元します。テナント
mq_t1を復元する例を示します:obclient [oceanbase]> FLASHBACK TENANT mq_t1 TO BEFORE DROP; Query OK, 0 rows affectedFLASHBACK TENANTステートメントの詳細については、FLASHBACKを参照してください。DBA_OB_TENANTSビューとごみ箱を確認し、実行結果を確認します。obclient [oceanbase]> SHOW RECYCLEBIN; Empty set 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-01-11 00:23:36.317242 | 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 set
関連ドキュメント
テナントの削除およびごみ箱に関する詳細情報については、次を参照してください: