问题描述
定期执行的rman备份的维护脚本,输出的日志中提示:
RMAN-06207: WARNING: 26 objects could not be deleted for DISKchannel(s) due
RMAN-06208: tomismatched status. Use CROSSCHECK command to fix status
环境
数据库版本
OracleDatabase 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
操作系统版本
Linux xxxxx2.4.21-32.ELsmp #1 SMP Fri Apr 15 21:17:59 EDT 2005 i686 i686 i386 GNU/Linux
辅助信息
脚本内容
[oracle@ias log]$ cat /home/oracle/bin/maintain.sh
#!/bin/bash
#function:maintain backup with rman
#usage:crontab on linux
###########################################################
export PATH
export ORACLE_SID=orcl
export ORACLE_HOME=/ias/iasdb/
export PATH=$ORACLE_HOME/bin:$PATH
###########################################################
rman target / log /home/oracle/log/maintain.log <<EOF
run{
crosscheck backup;
crosscheck archivelogall;
delete nopromptexpired backup;
delete nopromptobsolete;
}
exit
EOF
解决方法
RMAN>report obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
Backup Set 229 23-JUN-13
Backup Piece 229 23-JUN-13 /ias/iasdb/rmanbak/inc0_818898302.bak
Backup Set 231 24-JUN-13
Backup Piece 231 24-JUN-13 /ias/iasdb/rmanbak/inc2_818984703.bak
Backup Set 233 25-JUN-13
Backup Piece 233 25-JUN-13 /ias/iasdb/rmanbak/inc2_819071103.bak
有三个备份集已经过期
RMAN>delete obsolete;
Do you really want to delete the above objects (enter YES or NO)?yes
deleted backup piece
backup piece handle=/ias/iasdb/rmanbak/inc0_818898302.bak recid=229stamp=818207102
backup piece handle=/ias/iasdb/rmanbak/inc2_818984703.bak recid=231stamp=818207102
backup piece handle=/ias/iasdb/rmanbak/inc2_819071103.bak recid=233stamp=818207102
Deleted 3 objects
RMAN-06207: WARNING: 23 objects could not be deleted for DISKchannel(s) due
RMAN-06208: tomismatched status. Use CROSSCHECKcommand to fix status
此时报错,无法删除,提示用crosscheck检查下这几个备份集的状态
RMAN>crosscheck backuppiece'/ias/iasdb/rmanbak/inc0_818898302.bak’;
using channel ORA_DISK_1
crosschecked backup piece: found to be 'EXPIRED'
backup piecehandle=/ias/iasdb/rmanbak/inc0_818898302.bak recid=229 stamp=818293502
Crosschecked 1 objects
RMAN> delete noprompt obsolete;