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