博客
关于我
历史备份过多使用delete obsolete方式找不到过期备份信息???
阅读量:441 次
发布时间:2019-03-06

本文共 3468 字,大约阅读时间需要 11 分钟。

一套生产环境DB,每周日进行一次0级全备,其余每周6天都是增量备份。

但是磁盘告警,备份目录使用率>90%, 检查备份脚本是定期删除8天前的过期备份信息!!!

发现的问题: 最早的备份信息是3周前的备份信息??? 删除脚本失效了???

1. 准备操作,手工执行清理8天前的rman备份信息。

run{CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 8 DAYS;delete noprompt obsolete device type disk;} 执行之后无报错! 但是未删除任何信息??? 是不是21天前的备份信息,根本不在控制文件中??? 使用catalog 注册一下备份片信息 catalog start with '/bak'; yes --发现n多备份信息,可以被注册,说明什么,说明21天前的很多备份信息,确实在控制文件中不存在了???

参数

控制文件默认保留时间7天,也就是说,当控制文件积累到一定大小的程度时,会自动清理备份记录信息(不会删除备份文件,只是删除控制文件中记录的备份信息) 以及归档信息 SQL> show parameter control_file_record_keep_timeNAME                                 TYPE                   VALUE------------------------------------ ---------------------- ------------------------------control_file_record_keep_time        integer                7

    Relation between RMAN retention period and control_file_record_keep_time (Doc ID 397269.1)

    RMAN backup keeps the backup metadata information in the reusable section of the controlfile. It depends on the parameter CONTROL_FILE_RECORD_KEEP_TIME. CONTROL_FILE_RECORD_KEEP_TIME specifies the minimum number of days before a reusable recordin the control file can be reused. In the event a new record needs to be added to a reusable section and there is not enough space then it will delete the oldest record, which are aged enough. 

    Backup retention policy is the rule to set regarding which backups must be retained (whether on disk or other backup media) to meet the recovery and other requirements.

If the CONTROL_FILE_RECORD_KEEP_TIME is less than the retention policy then it may overwrite reusable records prior to obsoleting them in the RMAN metadata. Therefor it is recommended that the CONTROL_FILE_RECORD_KEEP_TIME should set to a higher value than the retention policy.
    Please note the default control_file_record_keep_time is 7 day
NOTE: Best practice is to NOT set control_file_record_keep_time to a value greater than 10. If you need retention greater than this in the controlfile, you should use an RMAN catalog.
   Formula
    CONTROL_FILE_RECORD_KEEP_TIME = retention period + level 0 backup interval + 1
   For e.g.
    e.q. level 0 backup once a week with retention policy of a recovery windows of 14 days then in this case the CONTROL_FILE_RECORD_KEEP_TIME should be 14+7+1=22
    To be on safer side you can always add + 2 or 3 days to above formula.
Ideally its recommended to configure a recovery catalog so that information about the backups are present in recovery catalog even though the controlfile section gets reused based on the control_file_record_keep_time due to space pressure.

SQL> select * from V$CONTROLFILE_RECORD_SECTION; 有人会问?  为什么超出默认的7天? 但是备份信息还是保留呢?  空间足够没必要覆盖,备份信息过多才会自动清理。 那么如何处理???  1.不建议直接跳转加大参数,无法调整清理备份信息在进行调整; SQL> alter system set control_file_record_keep_time=31 sid='*';                  2.备份的定时任务是否有必要进行调整,及时清理多余的备份信息;                  3.可以脚本中加上RMAN> catalog start with '/bak/' noprompt;

searching for all files that match the pattern /bak/

List of Files Unknown to the Database

=====================================
File Name: /bak/0buvkgth
File Name: /bak/0cuvkgtk
cataloging files...
cataloging done

List of Cataloged Files

=======================
File Name: /bak/0buvkgth
File Name: /bak/0cuvkgtk

 

使用catalog 注册后,再次执行删除语法,可以执行,但是执行删除8天前的日志,但是却保留了2周的备份信息!!!

每周一次备份

 2.由于机制问题,按照时间窗口,清理过期的备份,清理8天前,也就是存在

上周5的增倍,上周6的全备-至今, 最初的理解是,删除8天前,应该是只保留上周5-至今的备份信息; 

但是oracle 定义的过期是,保留8天的恢复窗口内,可以使用备份恢复到任意时刻! 包括本次最早的一天,上周5,如果仅仅只保留最近8天的备份,最近的全备是上周6,无法恢复到上周5的数据。  因此保留8天恢复窗口,配合每周一次增量备份,等同于保留2次RMAN全备数据!!!

转载地址:http://itlyz.baihongyu.com/

你可能感兴趣的文章
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>
MySQL中的DB、DBMS、SQL
查看>>
MySQL中的DECIMAL类型:MYSQL_TYPE_DECIMAL与MYSQL_TYPE_NEWDECIMAL详解
查看>>
MySQL中的GROUP_CONCAT()函数详解与实战应用
查看>>
MySQL中的IO问题分析与优化
查看>>
MySQL中的ON DUPLICATE KEY UPDATE详解与应用
查看>>
mysql中的rbs,SharePoint RBS:即使启用了RBS,内容数据库也在不断增长
查看>>
mysql中的undo log、redo log 、binlog大致概要
查看>>
Mysql中的using
查看>>
MySQL中的关键字深入比较:UNION vs UNION ALL
查看>>
mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏
查看>>
mysql中的字段如何选择合适的数据类型呢?
查看>>
MySQL中的字符集陷阱:为何避免使用UTF-8
查看>>