delete expired删除的是那些本来RMAN以为存在但是实际上在磁盘或者磁带上已经被删除了的信息,删除的只是RMAN资料库中的记录;
delete obsolete则删除旧于备份保留策略定义的备份数据同时也更新RMAN资料库以及控制文件。
对于EXPIRED状态的产生,与crosscheck命令是密切相关的,RMAN通过crosscheck命令检查备份是否存在于备份介质上,如果不存在,则状态由AVAILABLE改为EXPIRED。
例如这里将控制文件的备份删除,再使用crosscheck进行检查,该备份的状态由AVAILABLE改为EXPIRED:
crosscheck还常使用于:在手工删除归档日志后,使用crosscheck进行检查,再删除expired状态的归档信息。
检查
RMAN> crosscheck backup;
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=76 实例=otcp2 设备类型=DISK
分配的通道: ORA_DISK_2
通道 ORA_DISK_2: SID=18 实例=otcp2 设备类型=DISK
分配的通道: ORA_DISK_3
通道 ORA_DISK_3: SID=74 实例=otcp2 设备类型=DISK
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnndf_TAG20160728T163713_csmk1v0t_.bkp RECID=11 STAMP=918405434
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnndf_TAG20160728T164259_csmkdmdm_.bkp RECID=15 STAMP=918405779
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/autobackup/2016_07_28/o1_mf_s_918405780_csmkdovf_.bkp RECID=16 STAMP=918405781
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnnd0_TAG20160728T165000_csmksvm3_.bkp RECID=17 STAMP=918406203
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnnd0_TAG20160728T165000_csmkss6x_.bkp RECID=18 STAMP=918406201
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnnd0_TAG20160728T165000_csmkst0n_.bkp RECID=19 STAMP=918406201
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/autobackup/2016_07_28/o1_mf_s_918406230_csmktqxl_.bkp RECID=20 STAMP=918406231
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnnd1_TAG20160728T165141_csmkwz73_.bkp RECID=21 STAMP=918406302
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnnd1_TAG20160728T165141_csmkwzk8_.bkp RECID=22 STAMP=918406303
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnnd1_TAG20160728T165141_csmkwz8o_.bkp RECID=23 STAMP=918406302
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/autobackup/2016_07_28/o1_mf_s_918406318_csmkxhh5_.bkp RECID=24 STAMP=918406319
已交叉检验的 11 对象
2 删除备份
rm -fr /backup/OTCP/autobackup/2016_07_28/o1_mf_s_918406318_csmkxhh5_.bkp
3 检查
RMAN> crosscheck backup;
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
使用通道 ORA_DISK_3
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnndf_TAG20160728T163713_csmk1v0t_.bkp RECID=11 STAMP=918405434
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnndf_TAG20160728T164259_csmkdmdm_.bkp RECID=15 STAMP=918405779
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/autobackup/2016_07_28/o1_mf_s_918405780_csmkdovf_.bkp RECID=16 STAMP=918405781
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnnd0_TAG20160728T165000_csmksvm3_.bkp RECID=17 STAMP=918406203
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnnd0_TAG20160728T165000_csmkss6x_.bkp RECID=18 STAMP=918406201
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnnd0_TAG20160728T165000_csmkst0n_.bkp RECID=19 STAMP=918406201
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/autobackup/2016_07_28/o1_mf_s_918406230_csmktqxl_.bkp RECID=20 STAMP=918406231
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnnd1_TAG20160728T165141_csmkwz73_.bkp RECID=21 STAMP=918406302
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnnd1_TAG20160728T165141_csmkwzk8_.bkp RECID=22 STAMP=918406303
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=/backup/OTCP/backupset/2016_07_28/o1_mf_nnnd1_TAG20160728T165141_csmkwz8o_.bkp RECID=23 STAMP=918406302
已交叉检验的 10 对象
交叉校验备份片段: 找到为 'EXPIRED' -----------刚刚删掉的
备份片段句柄=/backup/OTCP/autobackup/2016_07_28/o1_mf_s_918406318_csmkxhh5_.bkp RECID=24 STAMP=918406319
已交叉检验的 1 对象
对于obsolete状态,是针对MAN备份保留策略来说的,超过了这个保留策略的备份,会被标记为obsolete,但其状态依旧为AVAILABLE,我们可以使用report obsolete来查看已废弃的备份。
例如这里,冗余数为1,有两个控制文件的备份,较早的一个备份,就会被标记为obsolete: