rman 0级 1级备份结合的注意事项 obsolete 和 FRA自动清理

1. 当心0级备份从controlfile中删除,0级备份决定recover windows时间 ,一级不算

Incremental backup cycle:

Sundays:        Level 0
Monday-Sat:  cumulative level 1

Every Friday and Saturday, the time for the incremental level 1 backup suddenly increases and results in a much larger backuppiece being generated.  The usual backuppiece size is around 200 MB, but on Friday and Saturday it is around 800 MB despite the fact that there is no extra activity on thedatabase during these days. The archive log generation is the same as on previous days.


CAUSE
In general, an RMAN incremental backup is based on the checkpoint scn of the previous incremental backup or the previous level 0 backup if this is a cummulative backup.    If no level 0 backup is found, then any existing incrementals become useless as an incremental without a baseline level 0 cannot be applied.  In such a situation, the next incremental will be based on the file creation scn ie
ALL blocks changed since file creation will be backed up.   So where an incremental backup strategy is deployed,  the backup metadata for the complete cycle (starting from level 0 backup) must be maintained in the rman repository.

Level 0 backups will be  removed prematurely from the rman repository under the following circumstances:

a. explicit deletion of the level 0 backups , ignoring retention policy
b. copy of rman backups to tape then  deletion from disk followed by crossheck/delete expired
c. if a catalog is NOT used, level 0 backup metadata may age out of the controlfile (only likely if the level 0s are taken very infrequently)

(a) and (b) are common practices where backups are written to disk first  and space is at a premium - this is fine as long as the backup metada remains untouched in the RMAN repository.

To confirm if the backup metadata is missing: 

a. RMAN>list backup of database;
    
    Look for the absence of level 0 backups for the present backup cycle

b. Query v$backup_datafile:

    SQL> set lines 400
    SQL> alter session set nls_date_format='dd-mon-rr hh24:mi:ss';
    SQL> select recid, file#, to_char(creation_change#)crscn,
                incremental_level lvl, to_char(incremental_change#) incrscn, 
                to_char(checkpoint_change#) ckpscn, checkpoint_time ckptime,
                completion_time endtime, USED_CHANGE_TRACKING bct, 
                blocks_read  read, block_size bsz, blocks wrtn 
         from v$backup_datafile
         where file# > 0
           and  completion_time > '<date>';

     Look for datafile backups where incremental_change#=creation_change
         
          Sample output (edited):

recid   File# crscn  Lvl   incr_change#    ckp change#
------  ----- ------ ----- -------------   -----------------
61888    1       5    0                0   6066791848649
61975    1       5    1    6066791848649   6067000893725
62073    1       5    1    6066791848649   6067362932086
62179    1       5    1    6066791848649   6067740524868
62280    1       5    1    6066791848649   6068546799488
62393    1       5    1                5   6069467166501
   For the backup with recid 62393, the backup was based on scn 5, which is the file creation scn.


SOLUTION

Do not use an explicit DELETE command to remove any backups belonging to current backup cycle.
When copying backups from disk to tape and then deleting them from disk, do not run crossheck/delete expired commands as this will remove the corresponding backup metadata.

To maintain the backup metadata correctly:

set a retention policy to match your incremental backup cycle and use delete force obsolete 

RMAN> configure retention policy to recovery window of 7 days;
RMAN> delete force obsolete;

 .  using 'DELETE OBSOLETE' ensures only backups outside your retention policy will be deleted , the backup metadata for the current incremental cycle will be preserved
 . using 'FORCE' tells rman to ignore any io errors (when the OS reports that the backuppiece does not
    exist)

If you are not using a catalog ensure that CONTROL_FILE_RECORD_KEEP_TIME is set to your recovery window +1.
    
     

可以使用CONFIGURE RETENTION POLICY命令来创建一个持续的和自动备份保留策略。

当备份保留策略生效时,RMAN根据CONFIGURE命令指定的标准将数据文件或控制文件的备份视为过期的备份,也就是说,恢复时不再需要的备份。可以使用REPORT OBSOLETE命令来查看过期的文件和DELETE OBSOLETE命令来删除它们。

当随着时间的过去产生备份,旧的备份会变成过期的,因为它们不再需要来满足保留策略。RMAN可以识别过期的文件,但它不会自动删除它们。必须使用DELETE OBSOLETE命令来删除不再需要来满足保留策略的文件。

如果配置了快速恢复区域,那么当需要为新文件准备更多的恢复区域空间时,数据库自动删除过期或已经备份到磁带的文件。磁盘配额规则与保留策略规则不同,但数据库不会违反保留策略删除文件来满足磁盘配额。

REPORT OBSOLETE或DELETE OBSOLETE基于用户定义的保留策略,即它不需要用来恢复来决定备份是过期的。只有当RMAN执行交叉检查和不能找到文件时,备份被视为失效的(expired)备份。简而言之,过期(obsolete)意味着文件不需要,而失效(expired)意味着它不能被找到。

备份保留策略只应用到完全或级别0的数据文件和控制文件备份。对于数据文件拷贝和代理拷贝,如果RMAN决定拷贝或代理拷贝不需要,那么拷贝或代理拷贝可以被删除。对于数据文件的备份集,RMAN不能删除备份集直到备份集中的所有数据文件备份都已过期为止。

保留策略不负责删除或使归档redo日志和级别1的增量备份过期。而是,当没有需要它们的完全备份存在时,这些文件变成过期的。除了影响完全或级别0的数据文件和控制文件备份外,备份保留策略也影响归档redo日志和级别1的增量备份。首先,RMAN决定哪些数据文件和控制文件备份是过期的。然后,RMAN将所有不需要用来恢复必须保留的最旧的数据文件或控制文件备份的归档日志和级别1的增量备份视为过期的。

注:如果备份被非RMAN的技术删除,RMAN不能执行自动保留策略,例如,通过介质管理器的磁带保留策略。介质管理器必须永不失效一个磁带直到磁带上的所有RMAN备份已经从介质管理器的目录(catalog)中删除。

执行保留策略时有两个相互排斥的选项:冗余度和恢复窗口。


1.关于恢复窗口
恢复窗口是以当前时间开始在时间上向后延伸到可恢复点的时间段。可恢复点是假设的时间点恢复(TIPR)的最早的时间,即是在介质故障之后可以恢复的最早时间点。

例如,如果执行恢复窗口为1周,那么RMAN保留完全备份和要求的增量备份和归档日志,这样数据库可以恢复到过去的7天内。执行如下的保留策略:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

这个命令确保对于每个数据文件,比可恢复时间点更旧的一个备份会被保留。例如,如果恢复窗口是7,那么每个数据文件必须总是存在一个备份满足以下条件:
SYSDATE - BACKUP CHECKPOINT TIME >= 7

所有比最近的满足这个条件的备份更旧的备份都是过期的。

假设保留策略如下图所示:

保留策略有以下方面:
1) 恢复窗口是7天。
2) 数据库备份每两周安排一次,在这些日期:1月1日,1月15日,1月29日,2月12日。
3) 数据库运行在ARCHIVELOG模式,如果保留策略需要,归档日志只保存在磁盘上。

如Figure 8-4所示,当前时间是1月23日,可恢复时间点是1月16日。因此,1月15日的备份需要用来恢复,从log序列500到850的归档日志也是如此。在500之前的日志和1月1日的备份是过期的,因为它们不需要用来恢复到窗口期内的时间点。

-----就算15-22之间有增量1级备份,15的0级也是需要的,RECOVERY WINDOW OF 7 DAYS 只看0级备份的时间!!

假设相同的场景持续一周后,如下图所示:

在这个场景中,当前的时间是1月30日,可恢复时间点是1月23日。注意1月15日的备份如何没有过期即使一个更近的备份(1月29日)存在于恢复窗口期内。这个情况发生是因为还原1月29日的备份不能让你恢复到窗口内最早的时间,1月23日。为了确保窗口期内的任何时间点的可恢复性,必须保留1月15日的备份和从序列500到1150的所有归档日志。

-----0级备份需要保留最长时间是RECOVERY WINDOW+0级备份间隔时间,即使每周0级备份可能是14天的保留时间。


2.关于备份冗余度
在某些情况中,使用恢复窗口会复杂化磁盘空间规划,因为必须保留的备份的数量不是恒定的,取决于备份的时间表。相反,基于冗余度的保留策略指定每个数据文件必须保留多少个备份。

例如,可以配置冗余度为2,如下:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

缺省的保留策略配置为REDUNDANCY 1。


3.关于批量删除过期的备份
可以运行REPORT OBSOLETE命令根据保留策略来确定哪些备份当前是过期的。

一个成对的命令,DELETE OBSOLETE删除所有根据保留策略是过期的文件。可以定期运行DELETE OBSOLETE命令来最小化存储过期备份的空间浪费。例如,可以在每周的脚本中运行DELETE OBOSOLETE。

也可以通过在REPORT或DELETE命令中指定REDUNDANCY或RECOVERY WINDOW选项来覆盖配置的保留策略。使用DELETE OBSOLETE可配置比恢复窗口更短的恢复窗口选项来减少可恢复的窗口。例如,如果配置的窗口是14天,但你执行DELETE OBSOLETE RECOVERY WINDOW OF 7 DAYS,那么你不再有能力恢复到7天和14天之前之间的时间点。


4.关于备份保留策略和快速恢复区域删除规则
如果配置了快速恢复区域,那么数据库使用内部的算法来选择快速恢复区域中不再需要的文件来满足配置的保留策略。

当决定哪些文件从快速恢复区域中删除来满足磁盘配额规划时,保留策略决不会被违反。这些状态是OBSOLETE的备份才符合删除的条件来满足磁盘配额规则。

RMAN的状态OBSOLETE总是根据保留策略来决定的。例如,如果数据库备份在RMAN仓库中被视为OBSOLETE,那么它是因为不需要用来恢复到恢复窗口期内的时间点或者它是冗余的。

在快速恢复区域的OBSOLETE状态的规则和磁盘配额符合删除条件的规则之间有着重要的不同。假设归档日志在磁盘上,被当前的恢复窗口所需要,因此不是过期的。如果备份这些日志到磁带,那么保留策略将这些磁盘日志视为需要的,即是没有过期的。然而,快速恢复区域磁盘配额算法将磁盘上的日志视为符合删除的条件,因为它们已经备份到了磁带。磁盘上的日志在RMAN仓库中的状态不是OBSOLETE,但它们符合快速恢复区域的删除条件。
 

------上文说了不会删除,这边又说如果备份到磁带了也是可以删除的,但同时也是-------在RMAN仓库中的状态不是OBSOLETE,但它们符合快速恢复区域的删除条件!!!!

这种文件比较困惑,就是没有rman命令可以删 ,oracle内部可以删;当然rm可以删,删完crosscheck

  list backup of archivelog all;

如果配置了快速恢复区域,那么当需要为新文件准备更多的恢复区域空间时,数据库自动删除过期或已经备份到磁带的文件。磁盘配额规则与保留策略规则不同,但数据库不会违反保留策略删除文件来满足磁盘配额。

 CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO SBT;

CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO disk;
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/212646.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

创投课程研报专题课 | 如何写出高质量研报

协会邀请了来自GPTDAO的分析师——Will作为VC创投课程研报专题课的嘉宾&#xff0c;将于北京时间12月2日(周六)晚上21:00 PM-22:00 PM&#xff0c;与所有对Web3投资、创业心怀热忱的朋友一同探讨《如何写出高质量的研报》这个激动人心的话题。 浙江大学学生区块链协会&#xff…

mybatis整合(手动添加jar包方式)

操作步骤 创建数据库 建立user表 放入数据 1、创建javaweb工程并添加Jar包 用到的jar包 junit 用于测试 mybatis框架&#xff1a;mybatis-3.5.9.jar mysql数据库&#xff1a;mysql-connector-java-8.0.28.jar 2、添加MyBatis核心配置文件 <?xml version"1.0"…

[原创][2]探究C#多线程开发细节-“线程的无顺序性“

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delph…

TensorRT之LeNet5部署(onnx方式)

文章目录 前言LeNet-5部署1.ONNX文件导出2.TensorRT构建阶段(TensorRT模型文件)&#x1f9c1;创建Builder&#x1f367;创建Network&#x1f36d;使用onnxparser构建网络&#x1f36c;优化网络&#x1f361;序列化模型&#x1f369;释放资源 3.TensorRT运行时阶段(推理)&#x…

工业机器视觉megauging(向光有光)使用说明书(二,轻量级的visionpro)

测试程序暂时支持80万&#xff08;包含1024*768&#xff09;以上的gige工业相机&#xff0c;以后会支持640*480分辨率相机。 我们程序中使用注意力机制&#xff0c;其实就是感兴趣区域&#xff08;roi&#xff0c;你看过我前面博文&#xff0c;就应该明白&#xff09;精神的延…

mac截图Snagit 中文介绍

1.超越普通的屏幕截图 TechSmith Snagit 是唯一具有内置高级图像编辑和屏幕录制功能的屏幕捕获软件。因此&#xff0c;您可以在一个程序中轻松创建高质量的图像和视频。 2.最后&#xff0c;屏幕捕获软件可以完成您所做的一切 快速解释一个过程如果您正在努力清楚地沟通&…

JS前端逆向

前言 js逆向一直没有相关了解&#xff0c;虽然目前渗透遇见的不是很多&#xff0c;大多数遇见的要么不加密&#xff0c;要么无法实现其加密流程&#xff0c;不过最近看到了一个较为简单的站点正好能够逆向出来&#xff0c;就做了简单记录。本文旨在介绍js逆向的一些基础思路&am…

WebGL笔记:矩阵旋转运算的原理和实现

矩阵 矩阵&#xff08;Matrix&#xff09;是一个按照矩形纵横排列的复数集合 矩阵就像一个矩形的阵盘&#xff0c;通过其中纵横排列的元素我们可以摆出不同功能的阵法&#xff0c;比如位移矩阵、旋转矩阵、缩放矩阵 …在矩阵中的每一行&#xff0c;或者每一列数字构成的集合&a…

设计模式-结构型模式之代理设计模式

文章目录 八、代理设计模式 八、代理设计模式 代理设计模式通过代理控制对象的访问&#xff0c;可以详细访问某个对象的方法&#xff0c;在这个方法调用处理&#xff0c;或调用后处理。既(AOP微实现) 。 代理有分静态代理和动态代理&#xff1a; 静态代理&#xff1a;在程序…

POSTGRESQL中如何利用SQL语句快速的进行同环比?

1. 引言 在数据驱动的时代&#xff0c;了解销售、收入或任何业务指标的同比和环比情况对企业决策至关重要。本文将深入介绍如何利用 PostgreSQL 和 SQL 语句快速、准确地进行这两种重要分析。 2. 数据准备 为了演示&#xff0c;假设我们有一张 sales 表&#xff0c;存储了销…

微信订阅号和服务号的区别

服务号和订阅号有什么区别&#xff1f;服务号转为订阅号有哪些作用&#xff1f;我们都知道&#xff0c;服务号一个月只能发4次文章&#xff0c;但是订阅号每天都能发文章。不过在接收消息这一方面&#xff0c;服务号群发的消息有消息提醒&#xff0c;并显示在对话框&#xff1b…

重新认识Word——样式

重新认识Word Word样式给所有一级标题加上一级标题样式修改标题一样式&#xff0c;符合要求 正文样式标题前的小黑点导航窗格样式的相互复制Word一键转PPT 话说回来&#xff0c;一个程序员平时可能还看不起office全家桶的软件&#xff0c;但是&#xff0c;在实际的生活运用中&a…

音视频的功耗优化

前言 在应用中&#xff0c;录制与音视频模块往往是高耗能的模块&#xff0c;设备容易发热&#xff0c;影响体验。 什么是功耗优化 手机有多个耗电模块&#xff0c; SOC(CPU&#xff0c;GPU&#xff0c;DDR)&#xff0c;Display&#xff0c;Audio&#xff0c;Video&#xff0…

thinkphp 5.1 对数据库查出来的字段进行预处理

比如数据库的设计是下面这样子&#xff1a; 我想展示的是这个样子&#xff1a; 前端可以处理。 Think PHP的处理方式&#xff1a; 定义属性 &#xff1a; $this->customize 任意值;//这里的之没有作用 <?phpnamespace app\hs\controller\shop;use app\daogou\mo…

Windows用户相关Dos命令演示

Windows用户相关Dos命令演示 1、查看当前用户 命令&#xff1a;whoami 2、查看主机名 命令: hostname 3、查看所有用户 命令&#xff1a;net user 4、查看指定的用户 命令&#xff1a;net user 用户名 5、添加用户 命令&#xff1a;net user 用户名 密码 /add 注…

数据链路层之VLAN基本概念和基本原理

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

ASP.NET Core MVC过滤器

1、过滤器分为授权过滤、资源访问过滤、操作方法&#xff08;Action&#xff09;过滤、结果过滤、异常过滤、终结点过滤。上一次咱们没有说异常过滤和终结点过滤&#xff0c;不过老周后面会说的。对这些过滤器&#xff0c;你有印象就行了。 2、所有过滤器接口都有同步版本和异…

css 3D背景反转实现

body{/* 透视 */perspective: 800px; } div{transform-style:preserve-3d;width:259px;height:396px;margin: 100px auto;position: relative; } div img{position: absolute;width:259px;height:396px;left:0;top:0;transition: all linear 2s;z-index: 0; } div img:nth-chil…

[前 5 名] 最顶级的数据恢复软件解决方案列表

您是否在互联网上找到适用于 Windows PC 的前 5 名最受好评的数据恢复软件解决方案&#xff1f;嗯&#xff0c;在线市场上有很多工具可以恢复已删除的文件。但并不是所有的应用程序都值得使用它。值得信赖的文件恢复工具将有助于快速检索丢失、删除、格式化的数据并从计算机恢复…

flink源码分析之功能组件(四)-slot管理组件II

简介 本系列是flink源码分析的第二个系列&#xff0c;上一个《flink源码分析之集群与资源》分析集群与资源&#xff0c;本系列分析功能组件&#xff0c;kubeclient&#xff0c;rpc&#xff0c;心跳&#xff0c;高可用&#xff0c;slotpool&#xff0c;rest&#xff0c;metrics&…