yangtingkun
===========================================================
删除过期备份报错RMAN-06207
===========================================================

由于备份文件被手工删除,导致了这个小bug的产生。


昨天发现备份空间马上就要满了,而备份正在进行之中,于是手工删除了几个RMAN的备份文件。

随后删除过期对象的时候出现了RMAN-06207RMAN-06208错误:

RMAN> delete obsolete;

RMAN retention policy will be applied to the command
RMAN retention policy is set to recovery window of 14 days
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 1611 14-AUG-08
Backup Piece 1611 14-AUG-08 /data1/backup/jiangsu/20080814_iljnvkad_1_1
Backup Set 1612 14-AUG-08
Backup Piece 1612 14-AUG-08 /data1/backup/jiangsu/20080814_imjnvkad_1_1

RMAN-06207: WARNING: 2 objects could not be deleted for DISK channel(s) due
RMAN-06208: to mismatched status. Use CROSSCHECK command to fix status
RMAN-06210: List of Mismatched objects
RMAN-06211: ==========================
RMAN-06212: Object Type Filename/Handle
RMAN-06213: --------------- ---------------------------------------------------
RMAN-06214: Backup Piece /data1/backup/jiangsu/20080814_iljnvkad_1_1
RMAN-06214: Backup Piece /data1/backup/jiangsu/20080814_imjnvkad_1_1

如果只是产生这个错误并不奇怪,奇怪的是进行CROSSCHECK检查的时候,根本就不检查这个备份:

RMAN> crosscheck backup;

using channel ORA_DISK_1
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/data1/backup/jiangsu/20080901_m3jpgk19_1_1 recid=1700 stamp=664293417
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/data1/backup/jiangsu/20080901_m2jpgk18_1_1 recid=1701 stamp=664293417
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/data1/backup/jiangsu/20080901_c-499478642-20080901-00 recid=1702 stamp=664294238
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/data1/backup/jiangsu/20080902_m5jphne8_1_1 recid=1703 stamp=664329673
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/data1/backup/jiangsu/20080902_m6jphnei_1_1 recid=1704 stamp=664329683
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/data1/backup/jiangsu/20080902_m7jphnei_1_1 recid=1705 stamp=664329683
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/data1/backup/jiangsu/20080902_m8jphocp_1_1 recid=1706 stamp=664330649
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/data1/backup/jiangsu/20080902_m9jphou5_1_1 recid=1707 stamp=664331206
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/data1/backup/jiangsu/20080902_c-499478642-20080902-00 recid=1708 stamp=664331208
Crosschecked 9 objects

这种情况可以通过CROSSCHECK BACKUPPIECE的方式对问题备份进行单独的检查:

RMAN> crosscheck backuppiece '/data1/backup/jiangsu/20080814_iljnvkad_1_1';

using channel ORA_DISK_1
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/data1/backup/jiangsu/20080814_iljnvkad_1_1 recid=1611 stamp=662688077
Crosschecked 1 objects


RMAN> delete obsolete;

RMAN retention policy will be applied to the command
RMAN retention policy is set to recovery window of 14 days
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 1611 14-AUG-08
Backup Piece 1611 14-AUG-08 /data1/backup/jiangsu/20080814_iljnvkad_1_1
Backup Set 1612 14-AUG-08
Backup Piece 1612 14-AUG-08 /data1/backup/jiangsu/20080814_imjnvkad_1_1

Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/data1/backup/jiangsu/20080814_iljnvkad_1_1 recid=1611 stamp=662688077
Deleted 1 objects

RMAN-06207: WARNING: 1 objects could not be deleted for DISK channel(s) due
RMAN-06208: to mismatched status. Use CROSSCHECK command to fix status
RMAN-06210: List of Mismatched objects
RMAN-06211: ==========================
RMAN-06212: Object Type Filename/Handle
RMAN-06213: --------------- ---------------------------------------------------
RMAN-06214: Backup Piece /data1/backup/jiangsu/20080814_imjnvkad_1_1

进行检查之后的备份就可以顺利的删除了。

RMAN> crosscheck backupset 1612;

using channel ORA_DISK_1
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/data1/backup/jiangsu/20080814_imjnvkad_1_1 recid=1612 stamp=662688078
Crosschecked 1 objects


RMAN> delete backupset 1612;

using channel ORA_DISK_1

List of Backup Pieces
BP Key BS Key Pc# Cp# Status Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
1612 1612 1 1 EXPIRED DISK /data1/backup/jiangsu/20080814_imjnvkad_1_1

Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/data1/backup/jiangsu/20080814_imjnvkad_1_1 recid=1612 stamp=662688078
Deleted 1 objects

使用CROSSCHECK BACKUPSET的方式也可以,但是比较单独指定被删除的备份,而通过CROSSCHECK BACKUP是无法找到的。其他手工删除的备份,则没有这个问题。

yangtingkun 发表于:2008.09.03 21:29 ::分类: ( ORACLE , Bug ) ::阅读:(444次) :: 评论 (0)

发表评论
标题

在此添加评论
表情符号: smile laughing tongue angry crying sad wassat wink

称呼

邮箱地址(可选)

个人主页(可选)

 authimage


切换风格
新闻聚合
博客日历
文章归档...
最新发表...
最新评论...
最多阅读文章...
最多评论文章...
博客统计...
Blog信息
网站链接...