このセクションでは、テーブルレベル復元コマンドに含まれる関連パラメータについて説明します。
テーブルレベル復元コマンド関連
コマンド
テーブルレベルの復元
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つの段階に影響します:
|