テーブルレベル復元コマンドが正常に実行された後、ビューを通じてテーブルレベル復元の進捗状況を確認できます。
手順
rootユーザーで、復元対象のテーブルが存在するテナントが属するクラスタのsysテナントにログインします。テーブルレベル復元の進捗状況を確認します。
システムテナントは、ビュー
CDB_OB_RECOVER_TABLE_JOBSを使用して、テーブルレベル復元全体の進捗状況を確認できます。obclient [(none)]> SELECT * FROM oceanbase.CDB_OB_RECOVER_TABLE_JOBS\Gクエリ結果の例は以下のとおりです:
*************************** 1. row *************************** TENANT_ID: 1 JOB_ID: 1 INITIATOR_TENANT_ID: 1 INITIATOR_JOB_ID: 0 START_TIMESTAMP: 2023-06-01 06:00:00.000000 STATUS: RECOVERING AUX_TENANT_NAME: AUX_RECOVER$1692106995896258 TARGET_TENANT_NAME: backup_tenant IMPORT_ALL: 0 DB_LIST: TABLE_LIST: `TEST`.`T1` RESTORE_SCN: 1692104831498747191 RESTORE_SCN_DISPLAY: 2023-06-01 00:00:00.000000 RESTORE_OPTION: pool_list=small_pool_0&primary_zone=z1 BACKUP_DEST: file:///data2/nfs/ob_backup_oracle_tenant/archive,file:///data2/nfs/ob_backup_oracle_tenant/data BACKUP_SET_LIST: file:///data2/nfs/ob_backup_oracle_tenant/data/backup_set_1_full BACKUP_PIECE_LIST: file:///data2/nfs/ob_backup_oracle_tenant/archive/piece_d1001r1p1 BACKUP_PASSWD: NULL EXTERNAL_KMS_INFO: NULL REMAP_DB_LIST: REMAP_TABLE_LIST: `TEST`.`T1`:`RECOVER_TEST`.`T3` REMAP_TABLEGROUP_LIST: REMAP_TABLESPACE_LIST: RESULT: COMMENT: 1 row in setこのビューには、復元実行時にユーザーが入力した復元パラメータ情報や復元結果などの情報が記録されています。
テーブルレベル復元の全プロセスには、補助テナントの復元操作とテナント間のインポート操作が含まれます。ビュー
CDB_OB_RECOVER_TABLE_JOBSには、2つのタスクレコードが対応しています:1つはsysテナントのタスクレコード、もう1つは対象となるユーザーテナント自身のタスクレコードです。具体的には:sysテナントのタスクレコードは、主に対象ユーザーテナントのテーブルレベル復元の進捗状況を記録します。対象テナントのテーブルレベル復元タスク全体が終了すると、そのタスクも終了します。対象ユーザーテナント自身のタスクレコードには、補助テナントの復元進捗状況とテーブルインポートタスクの進捗状況が含まれます。補助テナントの復元タスクとテーブルのインポートタスクの両方が終了すると、そのタスクも終了します。
クエリ結果において、
AUX_RECOVER$1692106995896258は補助テナント、backup_tenantは対象ユーザーテナントを表し、復元するテーブルはTEST.T1です。STATUSはテーブルレベル復元の現在の段階を示します:PREPARE:タスク初期化段階RECOVERING:対象テナントの復元完了を待機中。この状態はsysテナントにのみ表示されます。RESTORE_AUX_TENANT:補助テナントの復元PRECHECK_IMPORT:インポート前チェックGEN_IMPORT_JOB:インポートタスクの初期化IMPORTING:テーブルのインポート中CANCELING:タスクのキャンセル中COMPLETED:タスク完了FAILED:タスク失敗
ビュー内の
STATUSの値がCOMPLETEDの場合、テーブルレベル復元は完了したことを意味します。ビューCDB_OB_RECOVER_TABLE_JOBSのフィールドに関する詳細説明については、テーブルレベル復元関連ビュー紹介を参照してください。テーブルレベル復元が完了するまでの間、テーブルレベル復元の段階に応じて、補助テナントの復元タスクの進捗状況と対象テナントのインポートタスクの進捗状況を確認できます。
補助テナントの復元中は、補助テナントの復元タスクの進捗状況を確認します。
obclient [(none)]> SELECT * FROM oceanbase.CDB_OB_RESTORE_PROGRESS\G補助テナントの復元は、テナントレベルの物理復元プロセスと同じです。物理復元の進捗状況を確認する方法の詳細については、物理復元の進捗状況を確認するを参照してください。
テーブルのインポート中は、対象テナントのインポートタスクの進捗状況を確認します。
obclient [(none)]> SELECT * FROM oceanbase.CDB_OB_IMPORT_TABLE_JOBS\Gクエリ結果の例は以下のとおりです:
*************************** 1. row *************************** TENANT_ID: 1010 JOB_ID: 3 INITIATOR_TENANT_ID: 1010 INITIATOR_JOB_ID: 2 START_TIMESTAMP: 2023-08-16 17:59:28.689435 SRC_TENANT_NAME: AUX_RECOVER$1692179849034890 SRC_TENANT_ID: 1014 STATUS: IMPORT_TABLE IMPORT_ALL: 0 DB_LIST: TABLE_LIST: `TEST`.`T1` REMAP_DB_LIST: REMAP_TABLE_LIST: `TEST`.`T1`:`RECOVER_TEST`.`T3` REMAP_TABLEGROUP_LIST: REMAP_TABLESPACE_LIST: TOTAL_TABLE_COUNT: 0 FINISHED_TABLE_COUNT: 0 FAILED_TABLE_COUNT: 0 RESULT: COMMENT: 1 row in setクエリ結果によると、
STATUSがIMPORT_TABLEの場合、テーブルTEST.T1のインポート中であることを示します。テーブルのインポート中は、各テーブルのインポートの詳細情報も確認できます。obclient [(none)]> SELECT * FROM oceanbase.CDB_OB_IMPORT_TABLE_TASKS\Gクエリ結果の例は以下のとおりです:
*************************** 1. row *************************** TENANT_ID: 1002 TASK_ID: 1047 JOB_ID: 3 SRC_TENANT_ID: 1004 SRC_TABLESPACE: NULL SRC_TABLEGROUP: NULL SRC_DATABASE: test SRC_TABLE: t1 SRC_PARTITION: NULL TARGET_TABLESPACE: NULL TARGET_TABLEGROUP: NULL TARGET_DATABASE: recover_test TARGET_TABLE: t3 TABLE_COLUMN: 7 STATUS: DOING START_TIMESTAMP: 2023-08-16 21:08:49.492389 COMPLETION_TIMESTAMP: CUMULATIVE_TS: -1 TOTAL_INDEX_COUNT: 2 IMPORTED_INDEX_COUNT: 0 FAILED_INDEX_COUNT: 0 TOTAL_CONSTRAINT_COUNT: 1 IMPORTED_CONSTRAINT_COUNT: 0 FAILED_CONSTRAINT_COUNT: 0 TOTAL_REF_CONSTRAINT_COUNT: 1 IMPORTED_REF_CONSTRAINT_COUNT: 0 FAILED_REF_CONSTRAINT_COUNT: 0 RESULT: COMMENT: 1 row in set
CDB_OB_IMPORT_TABLE_JOBS、CDB_OB_IMPORT_TABLE_TASKSなどのビューのフィールドに関する詳細説明については、テーブルレベル復元関連ビュー紹介を参照してください。