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;
阅读(1307) | 评论(0) | 转发(0) |