skipping archived logs of thread 1 from sequence 29 to 46; already backed up

问题描述:删除归档的备份,在进行归档的重新备份,提示:skipping archived logs of thread 1 from sequence 29 to 46; already backed up,这个也不算报错,接着之前的ORA-19625

1.进行备份,但是提示我归档已经存在,但是我已经把备份全都物理删除了,rm * /u01/app/oracle/oradata/Backup  已经删除过Backup下所有的备份,包括这些归档,但是提示过下边这些归档已经存在,很奇怪

然后我的备份路径下只有数据库的备份文件,没有归档备份?全部删掉重来

 

 

2.查看rman备份的归档信息,然而这个路径下是没有任何文件的,在之后find这个bak也是没有找到的

RMAN> list backup of archivelog all;

 

 

3.重启,重启完重新执行以下脚本,这里很有意思,看起来没有问题。

run{
allocate channel ch_1 type disk;
backup database format '/u01/app/oracle/oradata/Backup/database_$t_%u_%c.bak'';
backup archivelog all format '/u01/app/oracle/oradata/Backup/archive_$t_%u_%c.bak';
}

 

 

4.但是下边这个就不明白了,我就已经删除归档备份了,怎么还有这几个归档已经有备份了,直接被跳过了,而且归档文件是存在的。这里是我重启完数据库,而且shutdown immediate了一次数据库,要注意的是这时会产生归档文件,所以数据库备份的是我shutdown产生的一次归档文件,之前的该跳过还是跳过了

 

 

 

 

 

5.后来才知道这个原因,物理删除归档备份,数据库是知道的,但是控制文件是还有记录的,这个单词一开始不知道什么意思,这次可记住了”过期“!

RMAN> crosscheck backup;   这里查看一下所有的备份,这里的备份是EXPIRED过期的,但是控制文件不知道,下边就要告诉控制文件

 

 

 RMAN> delete expired backup;      删除掉过期的备份,选择yes

 

 

 

 

6.在此进行备份,第无数次备份了,这里需要注意的是最好一行一行来,点击回车系统会检测你的语法,备份成功

 

7.查看一下备份的文件,这里的归档备份是没有问题的,当时调整了show all命令的参数,设置成了两个备份归档保留数,先记录一下,忽略一下show all里边设置路径%_后边的错误语法,没有改过来,这里回头再研究一下

 

相关文章

文章浏览阅读773次,点赞6次,收藏9次。【代码】c# json字符...
文章浏览阅读8.7k次,点赞2次,收藏17次。此现象一般定位到远...
文章浏览阅读2.8k次。mysql脚本转化为oracle脚本_mysql建表语...
文章浏览阅读2.2k次。cx_Oracle报错:cx_Oracle DatabaseErr...
文章浏览阅读1.1k次,点赞38次,收藏35次。本文深入探讨了Or...
文章浏览阅读1.5k次。默认自动收集统计信息的时间为晚上10点...