常常混淆RMAN中EXPIRED和OBSOLETE两个状态,其实如果理解了两者是如何产生的,区别也就出来了。

对于EXPIRED状态的产生,与crosscheck命令是密切相关的,RMAN通过crosscheck命令检查备份是否存在于备份介质上,如果不存在,则状态由AVAILABLE改为EXPIRED。
例如这里将控制文件的备份删除,再使用crosscheck进行检查,该备份的状态由AVAILABLE改为EXPIRED:

RMAN> list backup of controlfile;
备份集列表
===================
BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
246     Full    6.77M      DISK        00:00:01     17-8月 -09
BP 关键字: 248   状态: AVAILABLE  已压缩: NO  标记: CONTROLFILE_BACKUP
段名:D:/RMAN_BACKUP/CF_ORCL_20090817_5_1
包括的控制文件: Ckp SCN: 1321122      Ckp 时间: 17-8月 -09
RMAN> host "del D:/RMAN_BACKUP/CF_ORCL_20090817_5_1";
主机命令完成
RMAN> list backup of controlfile;
备份集列表
===================
BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
246     Full    6.77M      DISK        00:00:01     17-8月 -09
BP 关键字: 248   状态: AVAILABLE  已压缩: NO  标记: CONTROLFILE_BACKUP
段名:D:/RMAN_BACKUP/CF_ORCL_20090817_5_1
包括的控制文件: Ckp SCN: 1321122      Ckp 时间: 17-8月 -09
RMAN> crosscheck backup of controlfile;
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=154 devtype=DISK
交叉校验备份段: 找到为 'EXPIRED'
备份段 handle=D:/RMAN_BACKUP/CF_ORCL_20090817_5_1 recid=5 stamp=695159773
已交叉检验的 1 对象
RMAN> list backup of controlfile;
备份集列表
===================
BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
246     Full    6.77M      DISK        00:00:01     17-8月 -09
BP 关键字: 248   状态: EXPIRED  已压缩: NO  标记: CONTROLFILE_BACKUP
段名:D:/RMAN_BACKUP/CF_ORCL_20090817_5_1
包括的控制文件: Ckp SCN: 1321122      Ckp 时间: 17-8月 -09

可以用delete (noprompt) expired backup of controlfile来删除catalog中expired的备份信息:

RMAN> delete expired backup of controlfile;
使用通道 ORA_DISK_1
备份段列表
BP 关键字  BS 关键字  Pc# Cp# 状态      设备类型段名称
------- ------- --- --- ----------- ----------- ----------
248     246     1   1   EXPIRED     DISK        D:/RMAN_BACKUP/CF_ORCL_20090817_5_1
是否确定要删除以上对象 (输入 YES 或 NO)? NO
RMAN> delete noprompt expired backup of controlfile;
使用通道 ORA_DISK_1
备份段列表
BP 关键字  BS 关键字  Pc# Cp# 状态      设备类型段名称
------- ------- --- --- ----------- ----------- ----------
248     246     1   1   EXPIRED     DISK        D:/RMAN_BACKUP/CF_ORCL_20090817_5_1
已删除备份段
备份段 handle=D:/RMAN_BACKUP/CF_ORCL_20090817_5_1 recid=5 stamp=695159773
1 EXPIRED 对象已删除

crosscheck还常使用于:在手工删除归档日志后,使用crosscheck进行检查,再删除expired状态的归档信息。

对于obsolete状态,是针对MAN备份保留策略来说的,超过了这个保留策略的备份,会被标记为obsolete,但其状态依旧为AVAILABLE,我们可以使用report obsolete来查看已废弃的备份。
例如这里,冗余数为1,有两个控制文件的备份,较早的一个备份,就会被标记为obsolete:

RMAN> show RETENTION POLICY;
RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
RMAN> list backup;
备份集列表
===================
BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
85      Full    6.77M      DISK        00:00:02     17-8月 -09
BP 关键字: 87   状态: AVAILABLE  已压缩: NO  标记: CONTROLFILE_BACKUP
段名:D:/RMAN_BACKUP/CF_ORCL_20090817_3_1
包括的控制文件: Ckp SCN: 1314053      Ckp 时间: 17-8月 -09
BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
112     Full    6.77M      DISK        00:00:01     17-8月 -09
BP 关键字: 114   状态: AVAILABLE  已压缩: NO  标记: CONTROLFILE_BACKUP
段名:D:/RMAN_BACKUP/CF_ORCL_20090817_4_1
包括的控制文件: Ckp SCN: 1314118      Ckp 时间: 17-8月 -09
RMAN> report obsolete;
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为冗余 1
已废弃的备份和副本报表
类型                 关键字 完成时间           文件名/句柄
-------------------- ------ ------------------ --------------------
备份集               85     17-8月 -09
备份段       87     17-8月 -09         D:/RMAN_BACKUP/CF_ORCL_20090817_3_1

要真正地删除废弃的备份,可以使用delete noprompt obsolete命令(noprompt是指无需确认):

RMAN> delete noprompt obsolete;
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为冗余 1
使用通道 ORA_DISK_1
删除以下已废弃的备份和副本:
类型                 关键字 完成时间           文件名/句柄
-------------------- ------ ------------------ --------------------
备份集               85     17-8月 -09
备份段       87     17-8月 -09         D:/RMAN_BACKUP/CF_ORCL_20090817_3_1
已删除备份段
备份段 handle=D:/RMAN_BACKUP/CF_ORCL_20090817_3_1 recid=3 stamp=695147926
1 对象已删除
RMAN> report obsolete;
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为冗余 1
未找到已废弃的备份
RMAN> list backup;
备份集列表
===================
BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
112     Full    6.77M      DISK        00:00:01     17-8月 -09
BP 关键字: 114   状态: AVAILABLE  已压缩: NO  标记: CONTROLFILE_BACKUP
段名:D:/RMAN_BACKUP/CF_ORCL_20090817_4_1
包括的控制文件: Ckp SCN: 1314118      Ckp 时间: 17-8月 -09

EXPIRED和OBSOLETE的区别相关推荐

  1. 议rman的crosscheck和obsolete

    今天有朋友对于crosscheck和obsolete理解的不太清楚,网上查找了一些资料,也发现很多错误,其中典型的理解就是:crosscheck 可以检测/删除违背(obsolete)备份策略的备份集 ...

  2. RMAN之REPORT命令

    要报告需要三个或更多增量备份来进行恢复的文件: RMAN > REPORT NEED BACKUP incremental 3 database; 要报告三天以来尚未进行备份的系统文件: RMA ...

  3. rman命令之crosscheck

    一 crosscheck命令目的  备份损坏或者不存在于磁盘而rman资料库中仍记录该备份集或归档为available,那么需要运行crosscheck 进行交叉校验,以更新 rman资料库中过时的信 ...

  4. 雅思阅读中同义替换词大总结

    1. 限制:limit, restrict, confine, define, narrow, tighten, constrict, cap narrow(v.): 这个词大家以前使用的时候一般都是 ...

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

    这篇资料主要讲到了如下内容: 1. Rman 的维护 2. 恢复目录的维护 3. 备份恢复目录 4. RMAN 存储脚本 5. 删除数据库 一. RMAN 的维护 1.1 交叉效验RMAN 备份 在R ...

  6. Oracle RMAN篇(三)—— RMAN 维护与管理

    一. RMAN常用配置选项 1. 备份优化 优化备份开启后,会跳过以前备份过的文件,只读表空间和offline的表空间也会跳过. CONFIGURE BACKUP OPTIMIZATION OFF; ...

  7. 管理RMAN备份_维护RMAN备份和仓库记录

    1.RMAN备份和仓库维护概述 1.1.备份和仓库维护的目的 建议的维护策略是配置一个快速恢复区域,一个备份保留策略和一个归档 redo日志删除策略.在这种情况中,数据库按需要自动维护和删除备份与归档 ...

  8. delete expired backup 和 delete obsolete

    delete expired删除的是那些本来RMAN以为存在但是实际上在磁盘或者磁带上已经被删除了的信息,删除的只是RMAN资料库中的记录:delete obsolete则删除旧于备份保留策略定义的备 ...

  9. 连接池和 Timeout expired异常

    转自:博客园宁静.致远:http://www.cnblogs.com/zhangzhu/archive/2013/10/10/3361197.html 异常信息: MySql.Data.MySqlCl ...

最新文章

  1. 【NetApp】安装Cmode模拟器时,应使用带交换机的模式
  2. Exception in thread “main“ org.apache.ibatis.exceptions.PersistenceException奇葩解决方案
  3. Ubuntu下的Linux内核的编译及安装
  4. php判断目录是否有写的权限,PHP版目录权限检测
  5. 华为switch上配置MSTP
  6. 大数据分析平台的重点发展方向
  7. RGB转换cv::Mat
  8. 亲历阿里巴巴五轮面试分享
  9. centos php管理面板,CentOS Web Panle控制面板PHP Version Switcher
  10. 学科前沿技术专题第九章
  11. 论如何快速的培养一个软件测试工程师出来
  12. 关于android创建对话框报错The method setPositiveButton(int, DialogInterface.OnClickListener) in the type Alert
  13. 微信声音锁会上传到服务器吗,微信声音锁:你再也不用担心忘记密码了
  14. 根据用户输入的总行数(奇数),打印出菱形(总行数与总列数相等)。
  15. thinkPHP生成微信支付平台证书
  16. hdu 5148 Cities dp
  17. c语言中0x12是什么进制,C语言中进制知识汇总
  18. 前端面试必会 | 一文读懂 JavaScript 中的 this 关键字
  19. ERROR: cannot launch node of type [map_server/map_server]: map_server等
  20. 2.nltk下载语料库(一直提示连接失败/内核nltk直接挂了)

热门文章

  1. C语言if-else逻辑——想通了,再碰到就是小菜一碟!
  2. 四足鼎立,快递业的变局前夜
  3. 手机和PC站点击商务通无轨迹解决方法
  4. Web前端学习总结第一周
  5. 博文修改内容(自2021年8月开始起的学习内容,持续更新12/09)
  6. 实例讨论数据可视化的配色思路
  7. 淘宝用户购物行为分析
  8. 世纪互联与华为联手打造云数据中心是一步好旗!
  9. 马丘比丘的落日(简略秘鲁征服史)
  10. 高分辨率光学遥感图像水体分类综述2022.03