ORA-19625: error identifying file
问题描述:rman进行备份的时候,出现报错ORA-19625,无效的文件
进行数据库备份,然后就出现了报错,没有这个24号的归档日志
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> }
想起来之前是做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> }
这里就牵扯到另外一条命令:delete expired archivelog all; 这条命令才是同步控制文件和实际物理文件的信息的,之前的change archivelog all crosscheck; 是比较一下控制文件和物理文件的差别的,所以我又把备份文件全都删除,重新备了一遍
删除备份
delete expired archivelog all; 同步信息
重新rman备份
5.完成
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341