问题描述:rman进行备份的时候,出现报错ORA-19625,无效的文件数据库
1.进行数据库备份,而后就出现了报错,没有这个24号的归档日志oracle
RMAN> run{app
2> allocate channel ch_1 type disk;操作系统
3> allocate channel ch_2 type disk;3d
4> backup database format '/u01/app/oracle/oradata/Backup/database_%t_%u_%c.bak';日志
5> backup archivelog all format '/u01/app/oracle/oradata/Backup/archive_%t_%u_%c.bak';orm
6> }blog
2.想起来以前是作SCN增量备份的时候,把24号归档就不知道是删除了仍是mv到哪了,反正就是丢了,这个其它文档交代的很清楚,操做系统删除了这个归档日志,可是还没备份过,找不到归档就出错了。而后就执行如下命令,发现了failed for archived log文档
RMAN> change archivelog all crosscheck; (物理上删除了归档,可是控制文件不知道,须要交叉同步消息同步
3.一开始不知道直接觉得执行change archivelog all crosscheck; 告诉控制文件这个归档已经不行了,找不到了,就能够了。而后就进行备份,在我本地的备份路径上全部东西都是ok的,可是rman备份的时候发现24号归档仍是被备份进去了,这里没有来的及截图,下边能够备份到完整的bak
RMAN> run{
2> allocate channel ch_1 type disk;
3> allocate channel ch_2 type disk;
4> backup database format '/u01/app/oracle/oradata/Backup/database_%t_%u_%c.bak';
5> backup archivelog all format '/u01/app/oracle/oradata/Backup/archive_%t_%u_%c.bak';
6> }
4.这里就牵扯到另一条命令:delete expired archivelog all; 这条命令才是同步控制文件和实际物理文件的信息的,以前的change archivelog all crosscheck; 是比较一下控制文件和物理文件的差异的,因此我又把备份文件全都删除,从新备了一遍
删除备份
delete expired archivelog all; 同步信息
从新rman备份
5.完成