説明
ALTER SYSTEM RESTORE ステートメントは、テナントのバックアップデータを復元するために使用されます。
制限事項と注意点
OceanBaseデータベースの物理的復元は、同一クラスタ内での復元だけでなく、異なるクラスタ間でもサポートされています。
ALTER SYSTEM RESTOREステートメントを使用して物理的復元を行う前に、復元対象のバックアップデータのバージョンを必ず確認してください。復元バージョンの制限については、復元前の準備を参照してください。ALTER SYSTEM RESTOREステートメントを使用して物理的復元を行う前に、復元対象のテナントに必要なリソースが作成されていることを確認してください。復元対象のテナントに必要なリソースを作成する具体的な操作については、復元前の準備を参照してください。ALTER SYSTEM RESTOREステートメントを使用して復元されたテナントは、デフォルトでスタンバイテナントとなります。プライマリテナントとしてサービスを提供するには、ALTER SYSTEM ACTIVATE STANDBYステートメントを実行する必要があります。ALTER SYSTEM ACTIVATE STANDBYステートメントの詳細については、ACTIVATE STANDBYを参照してください。
権限要件
ALTER SYSTEM RESTORE ステートメントを実行できるのは、sys テナントの root ユーザー (root@sys) のみです。
構文
ALTER SYSTEM
RESTORE dest_tenant_name
FROM uri
[ UNTIL {TIME='timestamp' | SCN=scn} ]
WITH 'restore_option'
[WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password']
[DESCRIPTION [=] 'description'];
restore_option:
pool_list=pool_name[&locality=locality][&primary_zone=zone_name][&concurrency=int_num][&kms_encrypt={true | false}][&method={full | quick}]
パラメータの説明
| パラメータ | 説明 |
|---|---|
| dest_tenant_name | 復元するテナントの名前を指定します。 |
| uri | バックアップ時に設定したデータバックアップパス backup_data_dest とログアーカイブパス log_archive_dest を指定します。この値には少なくとも1つのデータバックアップパスと1つのログアーカイブパスが含まれ、パス間は英字のカンマ(,)で区切ります。現在、OceanBaseデータベースがサポートしているアーカイブ先メディアは、NFS、Alibaba Cloud OSS、Azure Blob(V4.3.5バージョンでは、V4.3.5 BP3バージョンからサポート開始)、AWS S3、およびS3プロトコルに互換性のあるオブジェクトストレージです。例:Huawei OBS、Google GCS、Tencent Cloud COS。uri パスの例については、SET LOG_ARCHIVE_DESTまたはSET DATA_BACKUP_DESTを参照してください。 |
| TIME='timestamp' | SCN=scn | 復元の終了点を指定します。このポイントに復元し、そのポイントを含みます。TIME または SCN に復元する場合は、指定された値を = で結合する必要があります。UNTIL 句を指定しない場合、デフォルトでは最新のポイントに復元されます。timestampは YYYY-MM-DD HH24:MI:SS.FF の形式のみをサポートし、ナノ秒単位で正確です。復元時に timestamp と scn の値をどのように選択するかについて詳しくは、物理復元関連パラメータの紹介を参照してください。 |
| restore_option | pool_list、locality、primary_zone、concurrency、kms_encrypt、method などのパラメータをサポートしており、異なるパラメータ間は & で区切ります。localityとprimary_zoneを指定する際は、ソーステナントとの同型性を維持することを推奨します。同型性が異なる場合、テナントの復旧後にプライマリテナントとしてアクティブ化されるとロードバランシング操作が発生し、パフォーマンスに影響を与える可能性があります。
|
| WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password' | 暗号化テナントの秘密鍵バックアップ情報を指定します。ソーステナントに透過的暗号化が設定されている場合にのみ、復旧時に秘密鍵バックアップ関連情報を指定する必要があります。その中で:
|
| description | ユーザーが指定する説明情報はオプションです。 |
例
NFSデータバックアップパスとNFSログアーカイブパスから、テナント
mysqlを指定されたタイムスタンプ2022-06-01 00:00:00まで復元します。リソースプールはrestore_pool、コピーローカリティはF@z1,F@z2,F@z3、primary_zoneはz1と指定し、フル復元方式で復元します。obclient [oceanbase]> ALTER SYSTEM RESTORE mysql FROM 'file:///data/nfs/backup/data,file:///data/nfs/backup/archive' UNTIL TIME='2022-06-01 00:00:00' WITH 'pool_list=restore_pool&locality=F@z1,F@z2,F@z3&primary_zone=z1';NFSデータバックアップパスとNFSログアーカイブパスから、テナント
mysqlを現在の最新のアーカイブポイントまで復元します。リソースプールはrestore_pool、データ復元の並列度concurrencyは50と指定し、フル復元方式で復元します。obclient [oceanbase]> ALTER SYSTEM RESTORE mysql FROM 'file:///data/nfs/backup/data,file:///data/nfs/backup/archive' WITH 'pool_list=restore_pool&concurrency=50';NFSデータバックアップパスとNFSログアーカイブパスから、テナント
mysqlを指定されたSCNまで復元します。リソースプールはrestore_pool、クイックリカバリ方式で復元します。obclient [oceanbase]> ALTER SYSTEM RESTORE mysql FROM 'file:///data/nfs/backup/data,file:///data/nfs/backup/archive' UNTIL SCN=1658285759724047000 WITH 'pool_list=restore_pool&method=quick';OSSバックアップパスとOSSログアーカイブパスから、テナント
mysqlを指定されたタイムスタンプ2022-06-01 00:00:00まで復元します。リソースプールはrestore_pool、フル復元方式で復元します。obclient [oceanbase]> ALTER SYSTEM RESTORE mysql FROM 'oss://oceanbase-test-bucket/backup/data/?host=***.aliyun-inc.com&access_id=***&access_key=***,oss://oceanbase-test-bucket/backup/archive/?host=***.aliyun-inc.com&access_id=***&access_key=***' UNTIL TIME='2022-06-01 00:00:00' WITH 'pool_list=restore_pool';S3バックアップパスとS3ログアーカイブパスから、テナント
mysqlを指定されたタイムスタンプ2024-01-15 00:00:00まで復元します。リソースプールはrestore_poolと指定します。obclient [oceanbase]> ALTER SYSTEM RESTORE mysql FROM 's3://oceanbase-test-bucket/backup/data?host=s3.<region>.amazonaws.com&access_id=***&access_key=***&s3_region=***, s3://oceanbase-test-bucket/backup/archive?host=s3.<region>.amazonaws.com&access_id=***&access_key=***&s3_region=***' UNTIL TIME='2024-01-15 00:00:00' WITH 'pool_list=restore_pool';s3_regionはS3のバケットが存在するリージョンを表します。
OBSバックアップパスとログアーカイブパスから、テナント
mysqlを指定されたタイムスタンプ2023-06-01 00:00:00まで復元します。リソースプールはrestore_pool、フル復元方式で復元します。obclient> ALTER SYSTEM RESTORE mysql FROM 's3://oceanbase-test-bucket/backup/data/?host=obs.***.myhuaweicloud.com&access_id=***&access_key=***,s3://oceanbase-test-bucket/backup/archive/?host=obs.***.myhuaweicloud.com&access_id=***&access_key=***' UNTIL TIME='2023-06-01 00:00:00' WITH 'pool_list=restore_pool';GCSバックアップパスとログアーカイブパスから、テナント
mysqlを指定されたタイムスタンプ2023-06-01 00:00:00まで復元します。リソースプールはrestore_pool、フル復元方式で復元します。obclient> ALTER SYSTEM RESTORE mysql FROM 's3://oceanbase-test-bucket/backup/data/?host=https://storage.googleapis.com&access_id=***&access_key=***,s3://oceanbase-test-bucket/backup/archive/?host=https://storage.googleapis.com&access_id=***&access_key=***' UNTIL TIME='2023-06-01 00:00:00' WITH 'pool_list=restore_pool';COSバックアップパスとログアーカイブパスから、テナント
mysqlを指定されたタイムスタンプ2023-06-01 00:00:00まで復元します。リソースプールはrestore_pool、フル復元方式で復元します。obclient> ALTER SYSTEM RESTORE mysql FROM 's3://oceanbase-test/backup/data?host=cos.ap-***x.myqcloud.com&access_id=***&access_key=***,s3://oceanbase-test/backup/archive?host=cos.ap-***x.myqcloud.com&access_id=***&access_key=***' UNTIL TIME='2023-06-01 00:00:00' WITH 'pool_list=restore_pool';