To delete physical backups and copies as well as do the following:
Update their repository records in the target control file to status
Remove their repository records from the recovery catalog (if you use a catalog)
When running RMAN interactively,
DELETE displays a list of the files and prompts you for confirmation before deleting any file in the list. When reading commands from a command file, RMAN will not prompt for confirmation.
The repository record for a backup can sometimes fail to reflect the physical status of the backup. For example, files backed up to disk can be deleted using an operating system utility. The record in the RMAN repository is not updated by the operating system utility, so the RMAN repository still shows the object as available even though it has been deleted. If you do not run the
CROSSCHECK command to update the repository, and if you then run
DELETE against the backup, then the repository shows that the object is
AVAILABLE while the object is in fact missing. The following table indicates the behavior of
DELETE in such situations.
|Repository Status||Physical Status||Behavior of DELETE Command|
||Not found on media||Does not delete the object and reports the list of mismatched objects at the end of the job. RMAN does not update the repository status.|
||Found on media||Does not delete the object and reports the list of mismatched objects at the end of the job. RMAN does not update the repository status.|
||Any||Removes repository record and deletes object if it exists. All I/O errors are ignored.|
||Any||Removes repository record and deletes object if it exists. All I/O errors are ignored. RMAN displays the number of objects deleted at the end of the job.|
See Also:"BACKUP" to learn about the
The target instance must be started.
DELETE command can delete usable backups and copies from prior incarnations.
A maintenance channel is not required when
DELETE is used with a file that is disk-only (that is, an
CONTROLFILECOPY). Otherwise, you must use a manual or automatic maintenance channel.
If you use
DELETE on files that are not disk-only, and if you have objects created on device types that are not configured for automatic channels, then run manual maintenance commands on these channels. For example, if you created a backup using an
sbt channel, but have only a
DISK channel automatically configured, you must manually allocate an
sbt channel for
||Deletes specified files (whether or not they exist on the media) and removes repository records. RMAN ignores any I/O errors for the deleted objects. RMAN displays the number of deleted objects at the end of the job.|
||Deletes specified files without first listing the files or prompting for confirmation. The
||Removes only files whose status in the repository is
If for some reason a backup or copy marked
|maintSpec||Deletes files output by the
||Deletes backups and datafile copies recorded in the RMAN repository that are obsolete, that is, no longer needed. In addition to obsolete datafile backups, RMAN deletes obsolete archived logs and archived log backups. RMAN determines which backups and copies of datafiles are no longer needed, which in turn determines when logs (and backups of logs) are no longer needed. RMAN considers the creation of a datafile as a backup when deciding which logs to keep.
RMAN first uses the options that you specify with obsOperandList to determine what is obsolete. If you do not specify options in obsOperandList, then RMAN uses the options specified in CONFIGURE
Note: Even if you use a
|obsOperandList||Specifies the criteria for determining which backups and copies are obsolete.
See Also: "obsOperandList"
||Restricts the deletion to obsolete backups and copies created on the specified device type only.
See Also: "deviceSpecifier"
Deleting Expired Backups: Example The following example uses a configured
sbt channel to check the media manager for expired backups of the tablespace
users that are more than one month old and removes their catalog records:
CROSSCHECK BACKUPSET OF TABLESPACE users DEVICE TYPE sbt COMPLETED BEFORE 'SYSDATE-31'; DELETE NOPROMPT EXPIRED BACKUPSET OF TABLESPACE users DEVICE TYPE sbt COMPLETED BEFORE 'SYSDATE-31';
Deleting Obsolete Backups: Example The following example deletes backups and copies that are not needed to recover the database to a random point within the last week. RMAN also deletes archived redo logs that are no longer needed:
DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 7 DAYS;
DELETE NOPROMPT BACKUP BACKED UP 2 TIMES TO DEVICE TYPE sbt; DELETE NOPROMPT COPY BACKED UP 2 TIMES TO DEVICE TYPE sbt;
DELETE NOPROMPT BACKUPSET TAG weekly_bkup;
However, RMAN displays a warning because the repository shows the backup set as available, but the object is not actually available on the media:
RMAN-06207: WARNING: 1 objects could not be deleted for SBT_TAPE channel(s) due RMAN-06208: to mismatched status. Use CROSSCHECK command to fix status List of Mismatched objects ========================== Object Type Filename/Handle --------------- --------------------------------------------------- Backup Piece 0id270ud_1_1
The following command forces RMAN to delete the backup set:
DELETE FORCE NOPROMPT BACKUPSET TAG weekly_bkup;