ADD DELETE BACKUP POLICY ステートメントと DROP DELETE BACKUP POLICY ステートメントは、それぞれクリーンアップポリシーの設定および削除に使用されます。
ユーザーに自動クリーンアップ機能を有効にする必要がある場合は、ADD DELETE BACKUP POLICY ステートメントを使用してテナントにクリーンアップポリシーを設定できます。クリーンアップポリシーが設定されたテナントでは、毎時間1回自動クリーンアップタスクがトリガーされます。
クリーンアップタスクの実行中に、現在実行中のクリーンアップタスクのみをキャンセルしたい場合は、CANCELE DELETE BACKUP ステートメントを実行します。CANCELE DELETE BACKUP ステートメントの詳細については、CANCEL DELETE BACKUPを参照してください。また、キャンセルしたいクリーンアップタスクが今後スケジュールされないようにするには、まず DROP DELETE BACKUP POLICY ステートメントを実行して自動クリーンアップポリシーを削除し、その後 CANCELE DELETE BACKUP ステートメントを実行して現在実行中のクリーンアップタスクをキャンセルする必要があります。
制限事項と注意点
ADD DELETE BACKUP POLICYステートメントを使用してクリーンアップポリシーを設定する場合、テナントレベルの自動クリーンアップポリシーのみを設定でき、クラスタレベルのクリーンアップポリシーの設定はサポートされていません。各コマンドでは、1つのテナントに対して1つのクリーンアップポリシーしか設定または削除できません。
DROP DELETE BACKUP POLICYステートメントを使用してテナントのクリーンアップポリシーを削除する場合、テナント内のすべてのクリーンアップポリシーが削除された後、そのテナントの自動クリーンアップ機能が無効になることを意味します。DROP DELETE BACKUP POLICYステートメントを使用してクリーンアップポリシーを削除しても、実行中のクリーンアップタスクには影響しません。ただし、次回システムが自動クリーンアップスケジューリングを行う際には、削除されたクリーンアップポリシーに基づくクリーンアップタスクは生成されなくなります。
権限要件
sys テナントの root ユーザー(root@sys)または各テナントの管理者ユーザーによって実行する必要があります。具体的には:
- MySQLモードのデフォルト管理者ユーザーは
rootユーザーです。 - Oracleモードのデフォルト管理者ユーザーは
SYSユーザーです。
構文
ALTER SYSTEM delete_backup_action [ TENANT [=] tenant_name ];
delete_backup_action:
ADD DELETE BACKUP POLICY [=] policy_name [RECOVERY_WINDOW [=] recovery_window]
| DROP DELETE BACKUP POLICY [=] policy_name
パラメータの説明
| パラメータ | 説明 |
|---|---|
| tenant_name | テナント名を指定します。 |
| POLICY | クリーンアップポリシー名を指定します。現在、default のみサポートされており、自動クリーンアップの範囲は現在の構成パラメータ data_backup_dest および log_archive_dest 内のバックアップに限られます。 |
| RECOVERY_WINDOW | バックアップデータの復元可能な時間窓を制御します。省略可能です。このパラメータを明示的に指定しない場合、デフォルトではバックアップデータの復元可能な時間窓は0日となり、バックアップセットは期限切れにならず、システムはクリーンアップを実行しません。このパラメータの詳細については、バックアップ関連パラメータの紹介を参照してください。 |
例
システムテナント
システムテナントが
mysql_tenantテナントに対してクリーンアップポリシーをdefaultに設定し、バックアップデータの復元可能な時間窓を7日間に設定します。obclient [oceanbase]> ALTER SYSTEM ADD DELETE BACKUP POLICY = 'default' RECOVERY_WINDOW ='7d' TENANT = mysql_tenant;設定が成功した後、以下のステートメントを使用してこのテナントに設定されたクリーンアップポリシーを確認できます。
obclient [oceanbase]> SELECT * FROM oceanbase.CDB_OB_BACKUP_DELETE_POLICY WHERE TENANT_ID=1002;クエリ結果は次のとおりです:
+-----------+-------------+-----------------+ | TENANT_ID | POLICY_NAME | RECOVERY_WINDOW | +-----------+-------------+-----------------+ | 1002 | default | 7d | +-----------+-------------+-----------------+ 1 row in setシステムテナントが
mysql_tenantテナントのクリーンアップポリシーdefaultを削除します。obclient [oceanbase]> ALTER SYSTEM DROP DELETE BACKUP POLICY 'default' TENANT mysql_tenant;
ユーザーテナント
テナント
oracle_tenantが自身のクリーンアップポリシーをdefaultに設定し、バックアップデータの復元可能な時間窓を7日間に設定します。obclient [SYS]> ALTER SYSTEM ADD DELETE BACKUP POLICY 'default' RECOVERY_WINDOW '7d';設定が成功した後、以下のステートメントを使用してこのテナントに設定されたクリーンアップポリシーを確認できます。
obclient [SYS]> SELECT * FROM SYS.DBA_OB_BACKUP_DELETE_POLICY;クエリ結果は次のとおりです:
+-------------+-----------------+ | POLICY_NAME | RECOVERY_WINDOW | +-------------+-----------------+ | default | 7d | +-------------+-----------------+ 1 row in setテナント
oracle_tenantが自身のクリーンアップポリシーを削除します。obclient [SYS]> ALTER SYSTEM DROP DELETE BACKUP POLICY 'default';