Home  >  Article  >  Database  >  rman备份出现ORA-19625

rman备份出现ORA-19625

WBOY
WBOYOriginal
2016-06-07 17:16:501124browse

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

rman备份出现ORA-19625:

rman备份出现ORA-19625

rman备份出现ORA-19625


原因在于操作系统下删除了这个归档日志,这个日志还没备份过,rman去备份的时候,找不到这个归档就出错了。可用以下方法解决:

RMAN> change archivelog all crosscheck;
----------------------------------
当手工删除了数据库的归档文件后,需要用这个命令进行同步。

(物理上删除了归档日志,但是控制文件并不知道;因此需要交叉检验以同步信息)

crosscheck archivelog all;

当手工删除了RMAN的备份级时,需要使用的是这个命令:
CROSSCHECK BACKUP;

他们的区别是同步的内容不同,一个是同步归档文件的状态,一个是同步RMAN备份信息。

-------------------------------------------
转载另外一篇文章如下:

crosscheck archivelog all

用RMAN的备份中(Veritas等备份软件由于归档日志的异常导致归档日志备份失败)是经常碰到的,解决方法也是非常解单,就是执行2条RMAN的命令:
1. 进入rman
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;
===========================
这2条命令做什么事情,原理是什么。下面说明一下:
在controlfile中记录着每一个archivelog的相关信息,当我们在OS下把这些物理文件delete掉或异常变动后,在controlfile中仍然记录着这些archivelog的信息,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是Oracle并不知道这些文件已经不存在了!这时候我们要做手工的清除。
crosscheck archivelog all;的作用就是检查控制文件和实际物理文件的差别。
delete expired archivelog all;就是同步控制文件的信息和实际物理文件的信息。
如果单独执行crosscheck而没有执行delete那么备份还是失败的,原因是那些控制文件的信息和实际的信息还是不同。
crosscheck backupset

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

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn