テーブルレベルリストアコマンドが正常に実行された後、ビューを通じてテーブルレベルリストアの進捗状況を確認できます。
操作手順
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などのビューのフィールドに関する詳細説明については、テーブルレベルリストア関連ビュー紹介を参照してください。