实例一
假如我们在oracle数据库在迁移当中不小心丢失了一个归档文件, 此时RMAN 会因为缺少归档日志而不能完成备份,而且Veritas等备份软件由于归档日志的异常导致归档日志备份失败也是经常碰到的。  解决方法很简单,执行下面2条命令即可:
RMAN>crosscheck archivelog all;
RMAN>delete expired archivelog all;

对这2条命令做一下说明:

在controlfile中记录着每一个archivelog的相关信息,当我们在OS下把这些物理文件delete掉或异常变动后,在controlfile中仍然记录着这些archivelog的信息,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了!这时候我们要做手工的清除。

crosscheck archivelog all; 的作用就是检查控制文件和实际物理文件的差别。
delete expired archivelog all;  就是同步控制文件的信息和实际物理文件的信息。

如果单独执行crosscheck而没有执行delete那么备份还是失败的,原因是那些控制文件的信息和实际的信息还是不同。

实例二

这种情况可以通过CROSSCHECK BACKUPPIECE的方式对问题备份进行单独的检查:
    RMAN> crosscheck backuppiece ’/u01/backup/orcl_iljnvkad_1_1’;
    RMAN> delete obsolete;

进行检查之后的备份就可以顺利的删除了。
   RMAN> crosscheck backupset 1612;
   RMAN> delete backupset 1612;

  使用CROSSCHECK BACKUPSET的方式也可以,但是比较单独指定被删除的备份,而通过CROSSCHECK BACKUP是无法找到的。其他手工删除的备份,则没有这个问题。

RMAN>crosscheck backup;

RMAN>delete expired backup;

说明一下:

crosscheck backupset命令是检查备份集和实际的文件

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

关于crosscheck 的详细信息可以参考Blog中的第一部分:交叉效验RMAN 备份

RMAN 系列(七) ---- RMAN 维护

http://blog.csdn.net/tianlesoftware/archive/2010/07/12/5728097.aspx

  在删除过期对象的时候出现了RMAN06207和RMAN06208错误:
  RMAN> delete obsolete;
   RMAN06207: WARNING: 2 objects could not be deleted for DISK channel(s) due
   RMAN06208: to mismatched status. Use CROSSCHECK command to fix status

  用crosscheck backup检查的时候也没有检查这个备份:
   RMAN> crosscheck backup;

------------------------------------------------------------------------------

Blog: http://blog.csdn.net/tianlesoftware

网上资源: http://tianlesoftware.download.csdn.net

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(满); DBA2 群:62697977

DBA3 群:63306533;     聊天 群:40132017

转载于:https://www.cnblogs.com/tianlesoftware/archive/2010/07/17/3610079.html

RMAN Crosscheck 和 Delete 命令的2个实例相关推荐

  1. RMAN的show,list,crosscheck,delete 命令整理

    转自其他人的博客整理,以TA为榜样,加油↖(^ω^)↗掌声鼓励鼓励  不过命令还是要记得常用的比较好,记得不清的时候这个可是宝典哦  O(∩_∩)O哈哈~ 1.SHOW命令:    显示rman配置: ...

  2. Oracle RMAN 的 show,list,crosscheck,delete命令整理

    1.SHOW命令:      显示rman配置: RMAN> show all; 2.REPORT命令: 2.1.RMAN> report schema 报告目标数据库的物理结构; 2.2 ...

  3. oracle rman crosscheck,rman 之crosscheck 与delete expired

    当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行. 所以此时需要手工执行crosscheck过程,之后Rman备份可以恢复正常. [执行顺序如下:手工删除archivel ...

  4. oracle rman crosscheck 命令

    CROSSCHECK命令:      用于核对磁盘和磁带上的备份文件,以确保RMAN资料库与备份文件保持同步.注意:该命令只会检查RMAN资料库所记载的备份文件.当执行crosscheck命令时,如果 ...

  5. oracle归档日志 delete obsolete 保留一次全备,Rman Crosscheck删除失效归档

    当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行. 所以此时需要手工执行crosscheck过程,之后Rman备份可以恢复正常. 1.Crosscheck日志 $ rma ...

  6. RMAN Crosscheck/Delete

    CROSSCHECK命令:校验备份信息 RMAN> crosscheck backup;             核对所有备份集;   RMAN> crosscheck backup of ...

  7. oracle rman crosscheck,rman的crosscheck命令

    在操作系统上手动删除备份或归档,rman不会立即知晓此变更,所以需要crosscheck更新备份的状态. 手动rm归档日志 检查归档 RMAN> crosscheck archivelog al ...

  8. RMAN CROSSCHECK命令 说明

    CROSSCHECK命令:      用于核对磁盘和磁带上的备份文件,以确保RMAN资料库与备份文件保持同步.注意:该命令只会检查RMAN资料库所记载的备份文件.当执行crosscheck命令时,如果 ...

  9. Rman Crosscheck删除失效归档(转)

    Rman Crosscheck删除失效归档(转) 当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行. 所以此时需要手工执行crosscheck过程,之后Rman备份可以恢 ...

  10. oracle rman删除备份文件,手动删除rman备份的文件,利用rman中的delete删除备份

    os版本:RHEL6.1 oracle版本:11.2.0.3.0 单机环境 利用rman测试时候: 由于在系统层面执行了删除操作,命令如下: #cd /oradata/backup #rm -rf b ...

最新文章

  1. 最终版本Science级组合图表绘制
  2. 图解Redis之数据结构篇——压缩列表
  3. python怎么输出文字_python怎么输出汉字
  4. [poj] 2749 building roads
  5. 利用python爬虫(part12)--随机获取UserAgent
  6. CES神吐槽:人工智能快要“烂大街”了?
  7. 【PostMan】postman如何发送并发请求
  8. 95-235-040-源码-task-Flink 对用户代码异常处理
  9. python将csv文件拆分_在python中将一个csv拆分为多个文件
  10. java冒泡排序 快速排序_Java必备-冒泡排序,选择排序,快速排序(纯代码实现)
  11. tomcat 多实例的Sys V风格脚本
  12. 无锁、偏向锁、轻量级锁、重量级锁,完整的锁升级!
  13. VIM总结之一:VIM编辑器常用命令详解
  14. C# ListView 在指定行后面插入新行,并对行号重新排序。
  15. 一对一直播app源码开发的前端实现
  16. 小程序源码:开心锤锤超火动态表情包
  17. VMware用技术浇灌生态之花
  18. C++ini文件操作
  19. c语言程序设计在哪讲,《C语言程序设计》讲.doc
  20. Kali beef-xss实现Xss详细教程。

热门文章

  1. c语言学号信息管理系统,c语言学籍信息管理系统设计
  2. 爬虫伪装请求头-fake-useragent
  3. Python中的输入输出(IO)
  4. 正态分布下贝叶斯决策的特例(三)
  5. 正态分布下贝叶斯决策的特例(一)
  6. Lattice - 规划模块 1.采样轨迹 2.计算轨迹cost 3 循环检测筛选轨迹
  7. OpenVINO DL workbench的docker安装
  8. docker部署flask服务方法
  9. html5 sha1,JavaScript 实现的base64加密、md5加密、sha1加密及AES加密
  10. python获取eth0_python实时获取tcpdump输出