Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5286444
  • 博文数量: 1144
  • 博客积分: 11974
  • 博客等级: 上将
  • 技术积分: 12312
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-13 20:06
文章存档

2017年(2)

2016年(14)

2015年(10)

2014年(28)

2013年(23)

2012年(29)

2011年(53)

2010年(86)

2009年(83)

2008年(43)

2007年(153)

2006年(575)

2005年(45)

分类: Oracle

2012-11-02 22:59:28

Oracle备份问题-因手工删除RMAN文件rman报错因手工删除RMAN文件rman报错

RMAN中的经常会碰到磁盘满了的事情,那么情急之下,肯定是手工去删除RMAN文件,来保障系统马上可以使用
起来,不过在日后通过delete obsolete删除过期备份,RMAN报告就会抛出:

RMAN-06207: WARNING: 49 objects could not be deleted for DISK channel(s) due
RMAN-06208: to mismatched status. Use CROSSCHECK command to fix status

其实这是什么原因呢?在手工删除RMAN文件后,RMAN REPORT已经将此文件标记为noavailable,所以你不管
如何CROSSCHECK,还是无法对他进行删除和同步
比如我们碰到以上错误,经常会利用一下语句来实行同步操作:

维护工作主要是:
1.   查看备份信息
2.   因为手工删除了备份文件或归档文件需要把RMAN CATALOG数据库的信息与手工删除的信息同步。
检查RMAN备份信息
列出已经过时的备份:
RMAN>report obsolete;
删除过时的备份信息
RMAN> allocate channel for maintenance type disk;
RMAN> change backupset id delete;
RMAN> release channel;

2.2 RMAN信息同步
当手工删除了数据库的归档文件后,要执行以下脚本进行同步:
RMAN> allocate channel for maintenance type disk;
RMAN> change archivelog all crosscheck;
RMAN> release channel;
当手工删除了数据库的RMAN备份文件后,要执行以下脚本进行同步:
RMAN> allocate channel for maintenance type disk;
RMAN> crosscheck backup;
RMAN> delete expired backup;
RMAN> release channel;

但是还是无济于事

最后通过report obsolete列出过期备份文件,记录Key编号,通过一下语句改变文件状态:

change backupset 498 available;
change backupset 501 available;
change backupset 495 available;
change backupset 500 available;
change backupset 555 available;
change backupset 554 available;
change backupset 557 available;
change backupset 551 available;
change backupset 556 available;
change backupset 552 available;

然后通过delete obsolete进行删除处理,问题解决:)

我经常手工删除,删除后执行:
crosscheck archivelog all或backup;
delete expired archivelog all或backup;
delete obsolete;就可以了!
不用change 。。。available;
阅读(1268) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~