ITPub博客

首页 > 数据库 > Oracle > RMAN-06059 ORA-19625 RMAN备份失败

RMAN-06059 ORA-19625 RMAN备份失败

原创 Oracle 作者:与刃争锋 时间:2013-12-26 10:05:00 0 删除 编辑

刚才,就在刚才,发生了一些有趣的事情.(——昨晚21点左右)

我用

RMAN>backup archivelog all delete input;

来备份并随后删除归档,我连续的输入此语句,三四次后发现再输入时提示错误.

网上的介绍说是

原因在于操作系统下删除了这个归档日志,这个日志还没备份过,rman去备份的时候,找不到这个归档就出错了.

但我肯定没有动归档日志!这点我肯定,因为我还在办公室,并没有喝酒,十分之清醒.

而且有趣的是我不断的备份并删除archivelog,但我配置的两个归档路径下的归档日志是有先有后,一部分一部分删除的——比如当前归档日志大概十五六个.我执行一次backup archivelog all delete input,路径1目录下的归档少了一大半,而路径2目录下的归档数量没变化;我又执行一次,路径1目录下的归档就剩一两个了,而路径2目录下的归档数量少了一半左右;我又来了一次,结果路径1目录下的归档光了,而路径2目录下的归档数量也光了.同一时间两个路径下的归档数量也不同,互相多一个或少一个.

先说咋解决的吧:

转载另外一篇文章如下:

用RMAN的备份中(Veritas等备份软件由于归档日志的异常导致归档日志备份失败)是经常碰到的,解决方法也是非常解单,就是执行2条rman的命令:

RMAN>crosscheck archivelog all;
RMAN>delete>Oracle并不知道这些文件已经不存在了!这时候我们要做手工的清除.
RMAN>crosscheck archivelog all:的作用就是检查控制文件和实际物理文件的差别.
RMAN>delete expired archivelog all;就是同步控制文件的信息和实际物理文件的信息.
如果单独执行crosscheck而没有执行delete那么备份还是失败的,原因是那些控制文件的信息和实际的信息还是不同.

crosscheck backupset 是检查备份集和实际的文件
1 备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)
2 crosscheck的目的是检查RMAN 的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired.如果物理文件存在,将维持Available.如果原先标记为Expired的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck将把状态重新从Expired标记回Available.
3 crosscheck输出分两部分.第一部分列出确定存在于备份介质上的所有备份集片,第二部分列出不存在于备份介质上的备份集片,并将其标记为Expired.当设置备份保存策略后,一个备份过期,crosscheck之后标记为丢弃的备份状态依旧为available,要删除丢弃备份delete obsolete

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25025926/viewspace-1064485/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: RMAN-06207 06208
请登录后发表评论 登录
全部评论

注册时间:2013-12-25

  • 博文量
    89
  • 访问量
    132416