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