説明
ALTER SYSTEM SET DATA_BACKUP_DEST ステートメントは、ユーザーテナントにバックアップ宛先、すなわちデータバックアップの保存パスを設定するために使用されます。
制限事項と注意点
システムテナントおよびMetaテナントはバックアップ・リカバリをサポートしていないため、バックアップ先の設定は不要です。
現在、OceanBaseデータベースがサポートするバックアップメディアはNFS、Alibaba Cloud OSS、Azure Blob(V4.3.5バージョンではV4.3.5 BP3以降のバージョンからサポート)、AWS S3、およびS3プロトコルに互換性のあるオブジェクトストレージ(例:Huawei OBS、Google GCS、Tencent Cloud COS)です。一部のバックアップメディアは使用する前に一定の要件を満たす必要があります。各バックアップメディアの具体的な要件については、物理バックアップとリカバリの概要のバックアップメディア要件を参照してください。
権限要件
sysテナントのrootユーザー(root@sys)または各テナントの管理者ユーザーによって実行する必要があります。その中で:
- MySQLモードのデフォルト管理者ユーザーは
rootユーザーです。 - Oracleモードのデフォルト管理者ユーザーは
SYSユーザーです。
構文
ALTER SYSTEM SET DATA_BACKUP_DEST = 'data_backup_path' [TENANT = tenant_name];
パラメータの説明
| パラメータ | 説明 |
|---|---|
| data_backup_path | データバックアップのバックアップパスを指定します。このパラメータの詳細については、以下のdata_backup_pathを参照してください。 |
| tenant_name | システムテナントがバックアップ先として設定するテナント名を指定します。
注意このコマンドを実行する際は、システムテナントのみが |
data_backup_path
データバックアップのバックアップパスを指定します。以下に、異なる種類のメディアに対する data_backup_path の形式を説明します。
NFS
ALTER SYSTEM SET DATA_BACKUP_DEST = 'file://your-nfs-server/your-backup-path';
ここで、file://your-nfs-server/your-backup-path は、OceanBaseデータベースがアクセス可能なNFSサーバーのパスを指定し、データバックアップを保存するために使用されます。
オブジェクトストレージ
# Alibaba Cloud OSS
ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://your-bucket-name/your-archive-path?host=oss-your-region.aliyuncs.com&access_id=your-access-id&access_key=your-access-key[&delete_mode={delete | tagging}][&checksum_type={md5 | no_checksum}][&enable_worm={true | false}]';
# AWS S3
ALTER SYSTEM SET DATA_BACKUP_DEST = 's3://your-bucket-name/your-archive-path?host=s3.your-region.amazonaws.com&access_id=your-access-id&access_key=your-access-key&s3_region=your-s3-region[&delete_mode={delete | tagging}][&checksum_type={md5 | crc32}]';
# S3プロトコル互換のオブジェクトストレージ
ALTER SYSTEM SET DATA_BACKUP_DEST = 's3://your-bucket-name/your-archive-path?host=your-service.com&access_id=your-access-id&access_key=your-access-key[&addressing_model={virtual_hosted_style | path_style}][&checksum_type=md5]';
# Azure Blob
ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://your-bucket-name/your-archive-path?host=oss-your-region.aliyuncs.com&access_id=your-access-id&access_key=your-access-key[&delete_mode={delete | tagging}][&checksum_type={md5 | no_checksum}][&enable_worm={true | false}]';
関連パラメータの説明は以下のとおりです:
注意
オブジェクトストレージをバックアップメディアとして使用する場合、オブジェクトストレージパスの各パラメータは & 記号で区切られます。入力するパラメータ値には、大文字と小文字、数字、/-_$+= およびワイルドカードのみが含まれていることを確認してください。上記以外の文字を入力した場合、設定に失敗する可能性があります。
host:オブジェクトストレージサービスへのアクセスドメイン名。Azure Blobオブジェクトストレージの場合、
hostパラメータの値は、コンテナプロパティまたはストレージアカウントの接続文字列を連結して取得でき、hostパラメータのプレフィックスはhttp://またはhttps://を指定する必要があります。同時に、Azure Blobはデフォルトでセキュリティ転送が有効になっているため、デフォルトではhttps://からアクセスします。http://からアクセスする必要がある場合は、Azure Blobのセキュリティ転送オプションを無効にする必要があります。Azure Blobのセキュリティ転送オプションを無効にする詳細な手順については、Azure Blob公式ドキュメントを参照してください。access_id=your-access-id:オブジェクトストレージのアクセス秘密鍵ID。access_key=your-access-key:オブジェクトストレージのアクセス秘密鍵。delete_mode:バックアップパスの後にバックアップファイルのクリーンアップモードを設定します。OSS、AWS S3、COS(S3プロトコル経由)、Azure Blobのオプションパラメータであり、他のパラメータとは&記号で結合されます。このパラメータは現在、以下の2つの値をサポートしています:delete: クリーンアップモードが、クリーンアップ要件を満たすバックアップファイルを直接削除することを示します。このモードに設定すると、自動的にバックアップファイルをクリーンアップする際、クリーンアップ要件を満たすバックアップファイルはシステムによって直接削除されます。
tagging: クリーンアップモードが、クリーンアップ要件を満たすバックアップファイルにTagを設定し、バックアップファイルは保持されることを示します。このモードに設定すると、自動的にバックアップファイルをクリーンアップする際、クリーンアップ要件を満たすバックアップファイルに対して、システムはこれらのファイルにタグを設定します。タグの
keyは"delete_mode"、valueは"tagging"であり、ユーザーは設定されたタグを使用して、オブジェクトストレージ上でこれらのファイルのライフサイクルを管理できます。
checksum_type:バックアップデータの整合性を検証するために使用されるチェックサムアルゴリズムを指定します。明示的に指定されない場合、すべてのオブジェクトストレージはデフォルトでMD5チェックサムアルゴリズムを使用します。異なるオブジェクトストレージによって、このパラメータがサポートする値は以下のとおりです:md5:MD5アルゴリズムを使用してバックアップデータの整合性を検証します。注意
MD5チェックサムは
GetObjectインターフェースには適用されません。no_checksum:バックアップデータの整合性を検証しません。この値は、OSSとAzure Blobのみがサポートしています。S3プロトコルでアクセスするオブジェクトストレージ、AWS S3、OBS、GCS、COSなどは、S3 SDKの制限により、この値をサポートしていません。crc32:CRC32アルゴリズムを使用してバックアップデータの整合性を検証します。この値は、AWS S3のみがサポートしています。
enable_worm:オプションパラメータであり、バックアップ先がAlibaba Cloud OSSであり、かつバックアップ先のBucketにコンプライアンス保持ポリシー(WORM)が設定されている場合、このパラメータをTrueに設定する必要があります。OSSの保持ポリシーにはWORM(Write Once Read Many)特性があり、ユーザーがデータを削除や改ざん不可能な方法で保存および使用できるようにします。ユーザーがBucketに保持ポリシーを設定してロックすると、保持ポリシーで指定されたObjectの保持期間が満了するまで、そのBucket内でのみObjectのアップロードと読み取りが可能になります。Objectの保持期間が満了した後にのみ、そのObjectを変更または削除できます。
注意
- V4.3.5バージョンでは、V4.3.5 BP2バージョンから
enable_wormパラメータの指定がサポートされました。 - OceanBaseデータベースは現在、コンプライアンス保持ポリシーの設定を代替するものではないため、バックアップパスを設定する前に、OSS Bucketに保持ポリシー(WORMポリシー)が正しく設定され、ロックされていることを確認してください。
- 設定対象のパスに対応するBucketに保持ポリシーが設定され、ロックされているにもかかわらず、バックアップ先を設定する際に
enable_worm=trueを指定しない場合、ステートメント実行後、システムはエラーを報告し、enable_worm=trueを設定する必要があることを示します。 enable_wormパラメータは一度設定すると、その後変更できなくなります。- バックアップパスを設定した後、ユーザーがそのパスに対応するBucketにWORMポリシーを設定してロックした場合、バックアップタスクはターゲットパス下のファイルを変更または削除できないため、
-9140のエラーを報告する可能性があります(エラーコードはビューCDB_OB_BACKUP_DELETE_JOB_HISTORY(sysテナント)またはDBA_OB_BACKUP_DELETE_JOB_HISTORY(ユーザーテナント)で確認可能)。the object is locked by wormというメッセージが表示されます。バックアップタスクがWORMポリシーにより実行失敗となった場合、ユーザーは新しいバックアップパスを再設定し、enable_worm=trueを指定する必要があります。 - WORMポリシーが設定されたBucketをバックアップパスとして使用する場合、バックアップのクリーンアップモードとして
taggingモードを使用することを推奨します。
enable_wormパラメータがサポートする値は以下のとおりです:true:はい。OceanBaseデータベースがWORM規格に従ってそのパスに対する書き込みおよび削除操作を実行することを示します。値をtrueに設定する場合、同時にchecksum_type=md5を明示的に設定する必要があります。false:いいえ。このパラメータが明示的に指定されていない場合、デフォルト値はfalseです。
- V4.3.5バージョンでは、V4.3.5 BP2バージョンから
s3_region:Amazon S3バケットが存在するリージョン。バックアップメディアがAWS S3の場合、必須のパラメータです。addressing_model:オブジェクトストレージへのアクセスURL形式を設定します。S3互換プロトコルでアクセスするオブジェクトストレージ(OBS、GCS、COSなど)のオプションパラメータであり、他のパラメータとは&記号で結合されます。このパラメータは現在、以下の2つの値をサポートしています:virtual_hosted_style:デフォルト値であり、Virtual-hosted-styleでオブジェクトストレージにアクセスすることを示します。path_style:Path-styleでオブジェクトストレージにアクセスすることを示します。
例えば、ユーザーテナントが、OBSをバックアップメディアとして使用し、Virtual-hosted-style形式でOBSにアクセスするように設定する場合、サンプルステートメントは以下のとおりです:
ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=obs.****.myhuaweicloud.com&access_id=****&access_key=****&addressing_model=virtual_hosted_style';
例
システムテナント
システムテナントは、テナント
mysql_tenantのバックアップパスをNFSに設定します。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'file:///data/nfs/backup/data' TENANT = mysql_tenant;システムテナントは、テナント
mysql_tenantのバックアップパスをOSSに設定し、バックアップファイルのクリーンアップモードをdeleteに設定します。また、MD5アルゴリズムを使用してバックアップデータの整合性を検証します。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://oceanbase-test-bucket/backup/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=delete&checksum_type=md5' TENANT = mysql_tenant;- システムテナントは、テナント
mysql_tenantのバックアップパスをOSSに設定し、バックアップファイルのクリーンアップモードをdeleteに設定します。ただし、バックアップデータの整合性は検証されません。
obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://oceanbase-test-bucket/backup/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=delete&checksum_type=no_checksum' TENANT = mysql_tenant;- システムテナントは、テナント
システムテナントは、テナント
mysql_tenantのバックアップパスをOSSに設定し、バックアップファイルのクリーンアップモードをtaggingに設定します。また、MD5アルゴリズムを使用してアーカイブファイルの整合性を検証します。このパスでenable_worm=trueが設定されている場合、システムはWORMの仕様に従ってこのパスへの書き込みと削除操作を実行します。注意
OceanBaseデータベースは現在、コンプライアンス保持ポリシーの設定を代替することはありません。バックアップパスを設定する前に、OSSバケットに保持ポリシー(WORMポリシー)が正しく設定され、ロックされていることを確認してください。
obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://oceanbase-test-bucket/backup/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=tagging&checksum_type=md5&enable_worm=true' TENANT = mysql_tenant;システムテナントは、テナント
mysql_tenantのバックアップパスをAWS S3に設定し、バックアップファイルのクリーンアップモードをtaggingに設定します。また、CRC32アルゴリズムを使用してバックアップデータの整合性を検証します。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=s3.<region>.amazonaws.com&access_id=xxx&access_key=xxx&s3_region=xxx&delete_mode=tagging&checksum_type=crc32' TENANT = mysql_tenant;システムテナントは、テナント
mysql_tenantのバックアップパスをOBSに設定し、S3プロトコルでアクセスします。obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=obs.****.myhuaweicloud.com&access_id=****&access_key=****' TENANT = mysql_tenant;システムテナントは、テナント
mysql_tenantのバックアップパスをGCSに設定し、S3プロトコルでアクセスします。obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=https://storage.googleapis.com&access_id=****&access_key=****' TENANT = mysql_tenant;システムテナントは、テナント
mysql_tenantのバックアップパスをCOSに設定し、バックアップファイルのクリーンアップモードをdeleteに設定します。また、S3プロトコルでアクセスします。注意
COSをバックアップメディアとして使用する場合、まずクラスタレベルの構成パラメータob_storage_s3_url_encode_typeを設定する必要があります。詳細な操作については、バックアップ前の準備を参照してください。
obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test/backup/data?host=cos.ap-xxxx.myqcloud.com&access_id=***&access_key=***&delete_mode=delete' TENANT = mysql_tenant;システムテナントは、テナント
mysql_tenantのバックアップパスをAzure Blobに設定し、クリーンアップモードをdeleteに設定します。同時に、検証アルゴリズムをmd5に指定します。obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='azblob://oceanbase-test-bucket/backup/data?host=http://****.blob.core.windows.net&access_id=****&access_key=****&delete_mode=delete&checksum_type=md5' TENANT = mysql_tenant;
ユーザーテナント
テナント
mysql_tenantは、このテナントのバックアップパスをNFSに設定します。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'file:///data/nfs/backup/data';テナント
mysql_tenantは、このテナントのバックアップパスをOSSに設定し、バックアップファイルのクリーンアップモードをdeleteに設定します。また、MD5アルゴリズムを使用してバックアップデータの整合性を検証します。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://oceanbase-test-bucket/backup/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=delete&checksum_type=md5';テナント
mysql_tenantは、このテナントのバックアップパスをOSSに設定し、バックアップファイルのクリーンアップモードをdeleteに設定します。ただし、バックアップデータの整合性は検証されません。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://oceanbase-test-bucket/backup/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=delete&checksum_type=no_checksum';テナント
mysql_tenantは、このテナントのバックアップパスをOSSに設定し、バックアップファイルのクリーンアップモードをtaggingに設定します。また、MD5アルゴリズムを使用してアーカイブファイルの整合性を検証します。このパスでenable_worm=trueが設定されている場合、システムはWORMの仕様に従ってこのパスへの書き込みと削除操作を実行します。注意
OceanBaseデータベースは現在、コンプライアンス保持ポリシーの設定を代替することはありません。バックアップパスを設定する前に、OSSバケットに保持ポリシー(WORMポリシー)が正しく設定され、ロックされていることを確認してください。
obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'oss://oceanbase-test-bucket/backup/?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=tagging&checksum_type=md5&enable_worm=true';テナント
mysql_tenantは、このテナントのバックアップパスをAWS S3に設定し、バックアップファイルのクリーンアップモードをtaggingに設定します。また、CRC32アルゴリズムを使用してバックアップデータの整合性を検証します。obclient [oceanbase]> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=s3.<region>.amazonaws.com&access_id=xxx&access_key=xxx&s3_region=xxx&delete_mode=tagging&checksum_type=crc32';テナント
mysql_tenantは、このテナントのバックアップパスをOBSに設定し、S3プロトコルでアクセスします。obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=obs.****.myhuaweicloud.com&access_id=****&access_key=****';テナント
mysql_tenantは、このテナントのバックアップパスをGCSに設定し、S3プロトコルでアクセスします。obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test-bucket/backup/data?host=https://storage.googleapis.com&access_id=****&access_key=****';テナント
mysql_tenantは、このテナントのバックアップパスをCOSに設定し、バックアップファイルのクリーンアップモードをdeleteに設定します。また、S3プロトコルでアクセスします。注意
COSをバックアップメディアとして使用する場合、まずクラスタレベルの構成パラメータob_storage_s3_url_encode_typeを設定する必要があります。詳細な操作については、バックアップ前の準備を参照してください。
obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='s3://oceanbase-test/backup/data?host=cos.ap-xxxx.myqcloud.com&access_id=***&access_key=***&delete_mode=delete';ユーザーテナント
mysql_tenantは、このテナントのバックアップパスをAzure Blobに設定し、クリーンアップモードをdeleteに設定します。同時に、検証アルゴリズムをmd5に指定します。obclient> ALTER SYSTEM SET DATA_BACKUP_DEST='azblob://oceanbase-test-bucket/backup/data?host=http://****.blob.core.windows.net&access_id=****&access_key=****&delete_mode=delete&checksum_type=md5';