クリーンアップポリシーの設定後、期限切れバックアップの自動クリーンアップを停止したり、クリーンアップポリシーを変更したりする必要がある場合は、まずクリーンアップポリシーを削除する必要があります。
注意事項と説明
クリーンアップポリシーを削除する際、テナント内のすべてのクリーンアップポリシーを削除すると、そのテナントの自動クリーンアップ機能が無効になります。
クリーンアップポリシーの削除は、実行中のクリーンアップタスクには影響しません。削除されたクリーンアップポリシーに対しては、システムが次回自動クリーンアップをスケジュールする際に、クリーンアップタスクが生成されなくなるだけです。
システムテナントが指定ユーザーテナントのクリーンアップポリシーを削除する場合
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;クエリ結果によると、ビュー内に対応するクリーンアップポリシーのレコードがなくなっている場合、そのテナントのクリーンアップポリシーが削除されたことを意味します。
次のステップ
クリーンアップポリシーを削除した後、バックアップファイルがタイムリーにクリーンアップされないことでディスク容量が満杯となり、最終的にバックアップ操作に影響を与えるのを防ぐため、削除後は速やかに新しいクリーンアップポリシーを設定してください。クリーンアップポリシーの設定手順については、自動的に期限切れバックアップをクリーンアップするを参照してください。