OceanBaseデータベースは、バックアップパスまたはアーカイブパスのaccess_idやaccess_keyなどの情報を動的に更新することをサポートしています。ユーザーがバックアップパスおよびアーカイブパスを設定した後、セキュリティ上の理由やその他の理由によりオブジェクトストレージのキー情報が変更された場合でも、この方法を使用して既に設定されたバックアップパスまたはアーカイブパスのaccess_idとaccess_keyを変更することで、バックアップやアーカイブの正常な実行を保証できます。
制限事項
V4.3.5バージョンでは、V4.3.5 BP2以降のバージョンから、バックアップパスまたはアーカイブパスのキー情報を変更できるようになりました。
オブジェクトストレージパスの
access_idとaccess_key情報のみ変更が可能です。ユーザーテナントは自身のテナントのバックアップパスまたはアーカイブパスのキー情報のみ変更でき、システムテナントが指定されたユーザーテナントのバックアップパスまたはアーカイブパスのキー情報を変更することはサポートされていません。
注意事項
バックアップまたはアーカイブ中にオブジェクトストレージパスに対応するキー情報を変更した場合、バックアップパスまたはアーカイブパスの
access_idとaccess_key情報も適時に変更する必要があります。そうしないと、バックアップタスクの実行失敗やアーカイブの進行不能といった問題が発生する可能性があります。ログアーカイブに基づくフィジカル・スタンバイ・データベースのシナリオでは、オブジェクトストレージパスに対応するキー情報を変更した後、スタンバイデータベース(スタンバイテナント)のログ復旧パス内の
access_idとaccess_key情報を速やかに更新する必要があります。そうしないと、ログ同期が進まない問題が発生する可能性があります。スタンバイデータベース(スタンバイテナント)のログ復旧パス内のaccess_idとaccess_key情報を更新する詳細な手順については、ログ復旧ソースの設定を参照してください。
操作手順
ユーザーテナントのテナント管理者がクラスタのユーザーテナントにログインします。
説明
MySQLモードの管理者ユーザーは
rootユーザー、Oracleモードの管理者ユーザーはSYSユーザーです。接続例は以下のとおりです。データベースへの接続時は、実際の環境に基づいてください。
obclient -h10.xx.xx.xx -P2883 -uroot@mysql_tenant#obdemo -p***** -A以下のステートメントを実行して、バックアップパスまたはアーカイブパスのキー情報を変更します。
SQLステートメントは次のとおりです:
ALTER SYSTEM {ALTER|CHANGE|MODIFY} EXTERNAL_STORAGE_DEST PATH [=] 'path' SET ACCESS_INFO = 'access_id=new_access_id&access_key=new_access_key';関連パラメータの説明は以下のとおりです:
path:変更対象のキー情報を持つバックアップパスまたはアーカイブパスを指定します。パスは現在のテナントで設定されているバックアップパスまたはアーカイブパスであり、オブジェクトストレージパスである必要があります。また、パスにはhost情報を含める必要があります。OSSを例にとると、このパスの形式は次のとおりです:
oss://oceanbase-test-bucket/backup/data?host=***。access_id=new_access_id&access_key=new_access_key:変更後の新しいaccess_idとaccess_keyの情報を指定します。access_idとaccess_keyは同時に入力する必要があります。
バックアップまたはアーカイブメディアをOSSとする場合、現在のユーザーテナントがバックアップ時に設定したバックアップパスが
oss://oceanbase-test-bucket/backup/data?host=cn-****.aliyuncs.comで、アーカイブパスがoss://oceanbase-test-bucket/backup/archive?host=cn-****.aliyuncs.comであると仮定すると、バックアップパスとアーカイブパスのキー情報をそれぞれ変更する例は次のとおりです:バックアップパスのキー情報を変更する
obclient> ALTER SYSTEM CHANGE EXTERNAL_STORAGE_DEST PATH='oss://oceanbase-test-bucket/backup/data?host=cn-****.aliyuncs.com' SET ACCESS_INFO = 'access_id=******&access_key=******';アーカイブパスのキー情報を変更する
obclient> ALTER SYSTEM CHANGE ARCHIVELOG DESTINATION PATH='oss://oceanbase-test-bucket/backup/archive?host=cn-****.aliyuncs.com' SET ACCESS_INFO = 'access_id=******&access_key=******';
詳細な例については、ALTER/CHANGE/MODIFY EXTERNAL_STORAGE_DESTを参照してください。
変更が成功したら、ビュー
DBA_OB_BACKUP_STORAGE_INFOを照会して確認できます。MySQLモードOracleモードバックアップパスの
access_idとaccess_key情報を確認します。obclient[oceanbase]> SELECT AUTHORIZATION FROM oceanbase.DBA_OB_BACKUP_STORAGE_INFO WHERE PATH='oss://oceanbase-test-bucket/backup/data' AND ENDPOINT = 'host=cn-****.aliyuncs.com';クエリ結果は次のとおりです:
+-------------------------------------+ | AUTHORIZATION | +-------------------------------------+ | access_id=******&encrypt_key=****** | +-------------------------------------+ 1 row in setアーカイブパスの
access_idとaccess_key情報を確認します。obclient[oceanbase]> SELECT AUTHORIZATION FROM oceanbase.DBA_OB_BACKUP_STORAGE_INFO WHERE PATH='oss://oceanbase-test-bucket/backup/archive' AND ENDPOINT = 'host=cn-****.aliyuncs.com';クエリ結果は次のとおりです:
+-------------------------------------+ | AUTHORIZATION | +-------------------------------------+ | access_id=******&encrypt_key=****** | +-------------------------------------+ 1 row in set
バックアップパスの
access_idとaccess_key情報を確認します。obclient[SYS]> SELECT AUTHORIZATION FROM SYS.DBA_OB_BACKUP_STORAGE_INFO WHERE PATH='oss://oceanbase-test-bucket/backup/data' AND ENDPOINT = 'host=cn-****.aliyuncs.com';クエリ結果は次のとおりです:
+-------------------------------------+ | AUTHORIZATION | +-------------------------------------+ | access_id=******&encrypt_key=****** | +-------------------------------------+ 1 row in setアーカイブパスの
access_idとaccess_key情報を確認します。obclient[SYS]> SELECT AUTHORIZATION FROM SYS.DBA_OB_BACKUP_STORAGE_INFO WHERE PATH='oss://oceanbase-test-bucket/backup/archive' AND ENDPOINT = 'host=cn-****.aliyuncs.com';クエリ結果は次のとおりです:
+-------------------------------------+ | AUTHORIZATION | +-------------------------------------+ | access_id=******&encrypt_key=****** | +-------------------------------------+ 1 row in set