クリーンアップポリシーの設定後、期限切れバックアップの自動クリーンアップを停止したり、クリーンアップポリシーを変更したりする場合は、まずそのクリーンアップポリシーを削除する必要があります。
注意事項と説明
クリーンアップポリシーを削除する際、テナント内のすべてのクリーンアップポリシーを削除すると、そのテナントの自動クリーンアップ機能が無効になります。
クリーンアップポリシーの削除は、実行中のクリーンアップタスクには影響しません。削除されたクリーンアップポリシーによって生成されるクリーンアップタスクは、システムが次回自動クリーンアップをスケジュールする際にのみ生成されなくなります。
システムテナントが指定ユーザーテナントのクリーンアップポリシーを削除する場合
rootユーザーでクラスタのsysテナントにログインします。以下のステートメントを実行して、クリーンアップポリシーを削除します。
ALTER SYSTEM DROP DELETE BACKUP POLICY policy_name TENANT [=] tenant_name;ここで:
policy_name:削除するクリーンアップポリシーの名前を指定します。この情報はビューCDB_OB_BACKUP_DELETE_POLICYから取得できます。tenant_name:ユーザーテナントの名前を指定します。システムテナントからクリーンアップポリシーを削除する場合は、ユーザーテナント名を指定する必要があり、指定できるのは1つのユーザーテナント名のみです。
例:
システムテナントがテナント
mysql001のクリーンアップポリシーを削除する場合obclient(root@sys)[(none)]> ALTER SYSTEM DROP DELETE BACKUP POLICY 'default' TENANT mysql001;システムテナントがテナント
oracle001のクリーンアップポリシーを削除する場合obclient(root@sys)[(none)]> ALTER SYSTEM DROP DELETE BACKUP POLICY 'log_only' TENANT oracle001;
クリーンアップポリシーが削除されたかどうかを確認します。
obclient(root@sys)[(none)]> SELECT * FROM oceanbase.CDB_OB_BACKUP_DELETE_POLICY WHERE tenant_id = 1002;クエリ結果に基づき、ビューに対応するテナントのクリーンアップポリシー記録がなくなっていれば、そのテナントのクリーンアップポリシーは正常に削除されたことを意味します。
ユーザーテナントが自身のテナントを削除する際のクリーンアップポリシー
テナント管理者がデータベースにログインします。
説明
MySQLテナントの管理者ユーザーは
rootユーザー、Oracleテナントの管理者ユーザーはSYSユーザーです。以下のステートメントを実行して、クリーンアップポリシーを削除します。
ステートメントは以下のとおりです:
ALTER SYSTEM DROP DELETE BACKUP POLICY policy_name;ここで、
policy_nameは削除するクリーンアップポリシーの名前を指定するために使用されます。現在のテナントで設定されているクリーンアップポリシーは、ビューoceanbase.DBA_OB_BACKUP_DELETE_POLICYまたはSYS.DBA_OB_BACKUP_DELETE_POLICYを参照して取得できます。例:
MySQLモードOracleモードMySQLモードで現在のテナントを削除する際のクリーンアップポリシー
default。obclient(root@mysql001)[(none)]> ALTER SYSTEM DROP DELETE BACKUP POLICY 'default';Oracleモードで現在のテナントを削除する際のクリーンアップポリシーは
log_onlyです。obclient(SYS@oracle001)[SYS]> ALTER SYSTEM DROP DELETE BACKUP POLICY 'log_only';クリーンアップポリシーが削除されたかどうかを確認します。
ビュー
oceanbase.DBA_OB_BACKUP_DELETE_POLICY(MySQLモード)またはSYS.DBA_OB_BACKUP_DELETE_POLICY(Oracleモード)を参照することで、現在のテナントのクリーンアップポリシーが削除されたかどうかを確認できます。MySQLモードOracleモードMySQLモードでのクエリ例は以下のとおりです。
obclient(root@mysql001)[oceanbase]> SELECT * FROM oceanbase.DBA_OB_BACKUP_DELETE_POLICY;Oracleモードでのクエリ例は以下のとおりです:
obclient(SYS@oracle001)[SYS]> SELECT * FROM SYS.DBA_OB_BACKUP_DELETE_POLICY;クエリ結果に基づき、ビューに対応するクリーンアップポリシーのレコードがない場合、そのテナントのクリーンアップポリシーは正常に削除されたことを意味します。
次のステップ
クリーンアップポリシーを削除した後、バックアップファイルがタイムリーにクリーンアップされずにディスク容量が満杯となり、最終的にバックアップ操作に影響を与えるのを避けるため、削除後は速やかに新しいクリーンアップポリシーを設定してください。クリーンアップポリシーの設定手順については、自動的に期限切れバックアップをクリーンアップするを参照してください。