DELETE BACKUPSET/ARCHIVELOG_PIECE ステートメントは、指定されたデータバックアップセットまたはログアーカイブピースをクリーンアップするために使用されます。
使用上の制限と注意事項
DELETE BACKUPSETステートメントを使用して指定されたデータバックアップセットをクリーンアップする場合、以下の点に注意してください:データバックアップ間の依存関係を破壊しないでください。あるデータバックアップが関連する増分バックアップに依存している場合、その依存されているデータバックアップは、それに依存するすべての増分バックアップが削除された後にのみ削除できます。
複数の
backup_set_idを指定して一度にクリーンアップする必要がある場合、すべてのbackup_set_idが同一のバックアップパス下にある必要があります。同一コマンド内で複数のパス下のデータバックアップをクリーンアップすることはサポートされていません。現在使用中のバックアップパスについては、復元に使用可能な最新のフルデータバックアップを少なくとも1セット保持する必要があります。つまり、復元に使用可能なフルバックアップを1セット保持した後でないと、そのバックアップセットより前の他のバックアップセットを削除できません。
削除対象のデータバックアップセットが現在使用中のバックアップパスにない場合、OceanBaseデータベースが該当バックアップパスへのアクセス権限を持っていることを確認する必要があります。
DELETE ARCHIVELOG_PIECEステートメントを使用して指定されたログアーカイブピースをクリーンアップする場合、以下の点に注意してください:ログアーカイブピースは順序に従ってクリーンアップする必要があります。
現在のアーカイブパス内のピースをクリーンアップする際、クリーンアップ対象のピースが現在のデータバックアップパス内のいかなるデータバックアップにも依存していないことを確認する必要があります。
複数の
piece_idを指定して一度にクリーンアップする必要がある場合、すべてのpiece_idが同一のアーカイブパス下にある必要があります。同一コマンド内で複数のパス下のログアーカイブピースをクリーンアップすることはサポートされていません。
権限要件
sys テナントの root ユーザー(root@sys)または各テナントの管理者ユーザーによって実行する必要があります。具体的には:
- MySQLモードのデフォルト管理者ユーザーは
rootユーザーです。 - Oracleモードのデフォルト管理者ユーザーは
SYSユーザーです。
構文
ALTER SYSTEM DELETE delete_action [TENANT [=] tenant_name];
delete_action:
BACKUPSET backup_set_id[,backup_set_id,...]
| ARCHIVELOG_PIECE piece_id[,piece_id,...]
パラメータ説明
パラメータ |
説明 |
|---|---|
| backup_set_id | 削除対象のバックアップセットIDを指定します。ビュー CDB_OB_BACKUP_SET_FILES(システムテナント)または DBA_OB_BACKUP_SET_FILES(ユーザーテナント)でクエリして取得できます。単一コマンドで複数のデータバックアップセットを同時に指定でき、異なる backup_set_id は半角カンマで区切ります。複数の backup_set_id を指定して一度にクリーンアップする場合、すべての backup_set_id が同一のバックアップパス下にある必要があります。同一コマンド内で複数のパス下のデータバックアップをクリーンアップすることはサポートされていません。 |
| piece_id | 削除対象のログアーカイブピースIDを指定します。ビュー CDB_OB_ARCHIVELOG_PIECE_FILES(システムテナント)または DBA_OB_ARCHIVELOG_PIECE_FILES(ユーザーテナント)でクエリして取得できます。単一コマンドで複数のピースを同時に指定できます。複数の piece_id を指定して一度にクリーンアップする場合、すべての piece_id が同一のバックアップパス下にある必要があります。同一コマンド内で複数のパス下のログアーカイブピースをクリーンアップすることはサポートされていません。 |
| tenant_name | クリーンアップ対象のユーザーテナント名を指定します。オプションですが、システムテナントで実行する場合は指定する必要があります。 |
例
システムテナント
指定されたデータバックアップセットをクリーンアップします。
システムテナントは、テナント
mysql001のbackup_set_idが3のデータバックアップセットを削除します。obclient(root@sys)[(none)]> ALTER SYSTEM DELETE BACKUPSET 3 TENANT = mysql001;システムテナントは、テナント
mysql001のbackup_set_idが1、2、4の3つのデータバックアップセットを同時に削除します。obclient(root@sys)[(none)]> ALTER SYSTEM DELETE BACKUPSET 1,2,4 TENANT = mysql001;
指定されたログアーカイブピースをクリーンアップします。
システムテナントは、テナント
mysql001のpiece_idが5のログアーカイブピースを削除します。obclient(root@sys)[(none)]> ALTER SYSTEM DELETE ARCHIVELOG_PIECE 5 TENANT = mysql001;システムテナントは、テナント
mysql001のpiece_idが6、7、8、9の4つのログアーカイブピースを同時に削除します。obclient(root@sys)[(none)]> ALTER SYSTEM DELETE ARCHIVELOG_PIECE 6,7,8,9 TENANT = mysql001;
ユーザーテナント
指定されたデータバックアップセットをクリーンアップします。
ユーザーテナントは、自身のテナントの
backup_set_idが3のデータバックアップセットを削除します。obclient> ALTER SYSTEM DELETE BACKUPSET 3;ユーザーテナントは、自身のテナントの
backup_set_idが1、2、4の4つのデータバックアップセットを同時に削除します。obclient> ALTER SYSTEM DELETE BACKUPSET 1,2,4;
指定されたログアーカイブピースをクリーンアップします。
ユーザーテナントは、自身のテナントの
piece_idが5のログアーカイブピースを削除します。obclient> ALTER SYSTEM DELETE ARCHIVELOG_PIECE 5;ユーザーテナントは、自身のテナントの
piece_idが6、7、8、9の4つのログアーカイブピースを同時に削除します。obclient> ALTER SYSTEM DELETE ARCHIVELOG_PIECE 6,7,8,9;