このセクションでは、テーブルレベル復元コマンドに含まれる関連パラメータについて説明します。
テーブルレベル復元コマンド関連
コマンド
テーブルレベル復元
ALTER SYSTEM RECOVER TABLE table_name_list TO [TENANT [=]] dest_tenant_name FROM uri [UNTIL {TIME='timestamp'} | {SCN=scn} ] WITH 'restore_option' [WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password'] [REMAP TABLE remap_table_name_list] [REMAP TABLEGROUP remap_tablegroup_list] [REMAP TABLESPACE remap_tablespace_list] [DESCRIPTION [=] description];実行中のテーブルレベル復元タスクをキャンセル
ALTER SYSTEM CANCEL RECOVER TABLE dest_tenant_name;
パラメータ説明
パラメータ |
説明 |
|---|---|
| table_name_list | 復元するテーブル。形式は database_name.table_name1,database_name.table_name2,... のようにします。複数のテーブルは半角カンマ(,)で区切ります。database_name と table_name を指定する場合:
|
| dest_tenant_name | テーブルを復元する対象テナント名。テーブルの復元はユーザーテナントへのみサポートされ、sys テナントやMetaテナントへの復元はサポートされていません。 |
| uri | データバックアップとログアーカイブのパスをそれぞれ指定します。テナントレベルの物理復元コマンドのパラメータと同じです。データバックアップがPLUS ARCHIVELOG方式で開始された場合は、一方のパスのみを入力する必要があります。そうでない場合は、データバックアップとログアーカイブの少なくとも2つのパスをそれぞれ入力する必要があります。例:'file:///backup/archive, file:///backup/data'。 |
| {TIME='timestamp'} | {SCN=scn} | 指定された復元終点です。このポイントまで復元し、そのポイントを含みます。TIME または SCN に復元する場合は、= で指定した値を結びます。UNTIL 句を指定しない場合、デフォルトで最新のポイントまで復元されます。 |
| restore_option | pool_list、locality、primary_zone、concurrency をサポートしており、異なるパラメータ間は & で区切ります。locality と primary_zone を指定する際は、ソーステナントとの同型性を保つことを推奨します。
|
| WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password' | 暗号化テナントの秘密鍵バックアップ情報を指定します。ソーステナントに透過的データ暗号化が設定されている場合にのみ、復元時に秘密鍵バックアップ関連情報を指定する必要があります。詳細は以下の通りです:
|
| remap_table_name_list | 復元後のテーブル名を変更します。テーブル名のみを変更し、所属するデータベースを変更しない場合、またはテーブル名を変更せずに他のデータベースに移行する場合、さらにテーブル名を変更し、所属するデータベースも他のデータベースに変更する場合をサポートします。ソースオブジェクトと変更後のオブジェクトは半角コロン(:)で結びます。具体的な書式例は以下の通りです:
説明変更後の |
| remap_tablegroup_list | テーブルが属するテーブルグループを変更します。ソーステーブルがテーブルグループに紐づけられている場合、ターゲットテナントで同名のテーブルグループを作成する際、システムはデフォルトでそのテナント内の同名テーブルグループにテーブルを復元します。同名のテーブルグループが存在しない場合、テーブルの復元は失敗します。ターゲットテナント内に他のテーブルグループが存在する場合、このステートメントを使用してテーブルを他のテーブルグループに復元することもできます。ソースオブジェクトと変更後のオブジェクトは半角コロン(:)で結びます。 例えば、ソーステーブルグループ tg1 内のすべてのテーブルをターゲットテナントのテーブルグループ newtg1 に復元する場合:REMAP TABLEGROUP tg1:newtg1。 |
| remap_tablespace_list | テーブルが属するテーブルスペースを変更します。テーブルスペースはOceanBaseデータベースにおける論理単位で、現在は主にデータ暗号化に使用されます。ソーステーブルがテーブルスペースに紐づけられている場合、ターゲットテナントで同名のテーブルスペースを作成する際、システムはデフォルトでそのテナント内の同名テーブルスペースにテーブルを復元します。同名のテーブルスペースが存在しない場合、テーブルの復元は失敗します。ターゲットテナント内に他のテーブルスペースが存在する場合、このステートメントを使用してテーブルを他のテーブルスペースに復元することもできます。ソースオブジェクトと変更後のオブジェクトは半角コロン(:)で結びます。 例えば、ソーステーブルスペース ts1 内のすべてのテーブルをターゲットテナントのテーブルスペース newts1 に復元する場合:REMAP TABLESPACE ts1:newts1。 |
テーブルレベル復元のパフォーマンス関連
復元補助テナント段階
テーブルレベル復元における復元補助テナント段階は、テナントレベル復元と同じです。この段階に関連するパフォーマンスパラメータおよび説明については、物理復元関連パラメータ紹介を参照してください。
テナント間データ導入段階
コマンド
ALTER SYSTEM SET ddl_thread_score = int_value Tenant=tenant_name;
ALTER SYSTEM SET recover_table_concurrency= int_value Tenant=tenant_name;
ALTER SYSTEM SET recover_table_dop = int_value Tenant=tenant_name;
パラメータの説明
パラメータ |
説明 |
|---|---|
| ddl_thread_score | テナントOBServerノード上のテーブルレベル復元スレッドプールの数を制御します。デフォルト値は0で、内部デフォルトスレッド数は2を意味します。 |
| recover_table_concurrency | テナントの複数テーブル並列復元の並列度を制御し、最大で recover_table_concurrency 個のテーブルが同時にテナント間データ導入を実行できるように指定します。デフォルト値は0で、内部デフォルトでは最大1個のテーブルがテナント間データ導入を実行できることを意味します。 |
| recover_table_dop | 単一テーブル復元の並列度を制御します。デフォルト値は0で、内部デフォルトの並列度は1を意味します。 このパラメータは具体的に以下の2つの段階に影響します:
|