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を指定します。このIDは、ビュー CDB_OB_BACKUP_SET_FILES(システムテナント)または DBA_OB_BACKUP_SET_FILES(ユーザーテナント)で照会して取得できます。1つのコマンドで複数のデータバックアップセットを同時に指定できます。異なる backup_set_id 間は半角カンマで区切ります。複数の backup_set_id を指定してクリーンアップする場合、すべての backup_set_id が同一のバックアップパス下にある必要があります。同一コマンド内で複数のパス下のデータバックアップをクリーンアップすることはサポートされていません。 |
| piece_id | 削除するログアーカイブピースのIDを指定します。このIDは、ビュー CDB_OB_ARCHIVELOG_PIECE_FILES(システムテナント)または DBA_OB_ARCHIVELOG_PIECE_FILES(ユーザーテナント)で照会して取得できます。1つのコマンドで複数のピースを同時に指定できます。複数の 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;