返回顶部
首页 > 资讯 > 数据库 >怎么理解rman差异增量和累计增量
  • 766
分享到

怎么理解rman差异增量和累计增量

2024-04-02 19:04:59 766人浏览 泡泡鱼
摘要

这篇文章主要介绍“怎么理解rman差异增量和累计增量”,在日常操作中,相信很多人在怎么理解rman差异增量和累计增量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解rm

这篇文章主要介绍“怎么理解rman差异增量和累计增量”,在日常操作中,相信很多人在怎么理解rman差异增量和累计增量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解rman差异增量和累计增量”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1、概念

差异增量(Differential):是备份低级别或者相同级别备份以来变化的所有数据块,顾名思议,也就是要备前期备份以来的差异数据块

 

若前面的备份同时存在低级别和相同级别,则优先选择备份从最近的低级别(n-1)以来变化的数据块,

若没有n-1级别备份,则选择备份同级别备份以来变化的数据块,

若没有同级别的备份,则备份更低级别以来(n-x)变化的数据

若前面同时有n-1级别和相同级别,则备份相同级别以来变化的数据


累积增量(Cumulative):是备份n-1级别(上级)或更低级别以来变化的所有数据块

 

若前面的备份同时存在低级别和n-1级别,则优先选择备份从n-1级别以来变化的数据块

若没有n-1级别,则备更低级别的(n-x)

 

2、备份策略及恢复

以rman多级增量备份来作为备份策略例子:

增量备份都需要一个0级备份来作为基础,0级备份与全备份的区别在于0级可以用来增量恢复,而全备份则不可以。

备份策略:

eg:我们对一星期做如下备份策略

案例。
星期                  差异增量             累积增量

星期天                0级                 0级

星期一                2级                 2级

星期二                2级                 2级

星期三                1级                 1级

星期四                2级                 2级

星期五                2级                 2级

星期六                2级                 2级

星期天                0级                 0级

 

 

对于差异增量,周一的二级备从周日到周一变化的数据 (没有n-1级,也没有同级别)

            周二的二级备从周一到周二变化的数据 (没有n-1级,有同级别)

            周三的一级备从周日到周三变化的数据 (没有n-1级,有同级别)

            周四的二级备从周三到周四变化的数据 (有n-1级)

            周五的二级备从周四到周五变化的数据  (有n-1级,有同级别)

            周六的二级备从周五到周六变化的数据  (有n-1级,有同级别)

 

如图:

 怎么理解rman差异增量和累计增量

 

假如周六数据库需要恢复(周五的二级备份完毕,未备份周六的),那么差异增量只需要使用星期天的0级,星期三的一级,星期四、五的二级加归档日志就可以完全恢复

 

对于累积增量,周一的二级备从周日到周一变化的数据 (没有n-1级,有更低级别)

            周二的二级备从周日到周二变化的数据 (没有n-1级,有更低级别)

            周三的一级备从周日到周三变化的数据 (有n-1级)

            周四的二级备从周三到周四变化的数据 (有n-1级)

            周五的二级备从周三到周五变化的数据 (有n-1级)

            周六的二级备从周三到周六变化的数据 (有n-1级)

如图示:

 

怎么理解rman差异增量和累计增量

 

 

假如周六数据库需要恢复(周五的二级备份完毕,未备份周六的),累积增量则需要星期天的0级,周三的一级,星期五的二级加归档日志即可进行完全恢复

 

以上是一个星期的备份策略,如果做长期的备份策略则只需要把备份的时间延长即可得到新的备份策略,具体需要看自己备份及恢复能够接受的程度而定,见最后的备份策略典型备份命令如下:

零级备份
backup incremental level 0 database;
一级差异增量
backup incremental level 1 database;
一级累计增量
backup incremental level 1 cumulative database;

备份策略典型案例:

每半年做一个数据库的全备份(包括所有的数据和只读表空间)
每一个月做一次零级备份(不包含只读表空间)
每个星期做一次一级备份
每天做一次二级备份

任何数据库的更改需要重新同步CATALOG目录并重新备份(如添加数据文件)或重新备份(如修改表空间为只读)
建议备份一段时间归档日志和定期备份归档到到磁带上

全库备份脚本
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup full tag ‘dbfull’ fORMat ‘/u01/oradata/backup/full%u_%s_%p’ database
include current controlfile;
sql ‘alter system arcHive log current’;
backup filesperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’
archivelog all delete input; #备份归档可选,可以单独定期备份
release channel c1;
release channel c2;
release channel c3;
}

零级备份脚本
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 0 tag ‘db0’ format ‘/u01/oradata/backup/db0%u_%s_%p’
database skip readonly;
sql ‘alter system archive log current’;
backup filesperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’
archivelog all delete input; #备份归档可选,可以单独定期备份
release channel c1;
release channel c2;
release channel c3;
}


一级备份脚本
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 1 tag ‘db1’ format ‘/u01/oradata/backup/db1%u_%s_%p’
database skip readonly;
sql ‘alter system archive log current’;
backup filesperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’
archivelog all delete input; #备份归档可选,可以单独定期备份
release channel c1;
release channel c2;
release channel c3;
}

如果按照以上备份策略,则每天的所需要备份的数据量只有一天的改变量。而做恢复时最多要恢复当月的一个零级备份+三个一级备份+6个二级备份+当天的归档 文件。如果不能接受这样的恢复时间,可以减少零级备份之间的时间间隔。在每次备份后,原则上在该备份点之前的归档日志就可以删除掉了,但是为了进一步的安 全以及日后需要(如使用LOGMNR查找所需信息),建议有条件的话,归档日志保存到能够接受的时间点,可以保存在磁带等廉价存取设备上。

到此,关于“怎么理解rman差异增量和累计增量”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么理解rman差异增量和累计增量

本文链接: https://lsjlt.com/news/65014.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么理解rman差异增量和累计增量
    这篇文章主要介绍“怎么理解rman差异增量和累计增量”,在日常操作中,相信很多人在怎么理解rman差异增量和累计增量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解rm...
    99+
    2024-04-02
  • ORACLE RMAN差异增量与累积增量的实例图分析
    本篇内容主要讲解“ORACLE RMAN差异增量与累积增量的实例图分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ORACLE RMAN差异增量与累积增量的实...
    99+
    2024-04-02
  • 如何理解Redis主从复制的全量和增量同步
    如何理解Redis主从复制的全量和增量同步,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 全量同步:1.sl...
    99+
    2024-04-02
  • mysql中怎么实现物理备份和增量备份
    本篇文章为大家展示了mysql中怎么实现物理备份和增量备份,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 物理备份:    &nbs...
    99+
    2024-04-02
  • mysql怎么增量备份和恢复数据
    这篇文章主要介绍“mysql怎么增量备份和恢复数据”,在日常操作中,相信很多人在mysql怎么增量备份和恢复数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql怎么增...
    99+
    2024-04-02
  • SVN仓库的全量备份和增量备份怎么实现
    这篇文章主要介绍“SVN仓库的全量备份和增量备份怎么实现”,在日常操作中,相信很多人在SVN仓库的全量备份和增量备份怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SVN仓库的全量备份和增量备份怎么实现...
    99+
    2023-06-04
  • mybatis-plus的批量新增/批量更新问题怎么解决
    本文小编为大家详细介绍“mybatis-plus的批量新增/批量更新问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“mybatis-plus的批量新增/批量更新问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-07-06
  • SAP MMBE库存数量与在库序列号数量差异怎么处理
    本文小编为大家详细介绍“SAP MMBE库存数量与在库序列号数量差异怎么处理”,内容详细,步骤清晰,细节处理妥当,希望这篇“SAP MMBE库存数量与在库序列号数量差异怎么处理”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-06-05
  • OpenStack虚拟机快照和增量备份怎么实现
    这篇“OpenStack虚拟机快照和增量备份怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“OpenStack虚拟机快...
    99+
    2023-06-29
  • 怎么理解C++指针常量和常量指针
    本篇内容主要讲解“怎么理解C++指针常量和常量指针”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解C++指针常量和常量指针”吧!术语常量指针和引用类似,可以定义指针可以指向常量或者非常量类...
    99+
    2023-06-30
  • SAP ABAP字符变量和字符串变量怎么理解
    本篇内容主要讲解“SAP ABAP字符变量和字符串变量怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SAP ABAP字符变量和字符串变量怎么理解”吧!使用ABAP strlen函数计算下...
    99+
    2023-06-03
  • 怎么理解spark的计算器与广播变量
    这篇文章给大家介绍怎么理解spark的计算器与广播变量,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一.计算器1.官网2.解释计数器只支持加,计算器字task里面3.测试4.结果截图WEBUI4.应用场景数据很多有的数...
    99+
    2023-06-02
  • C++类常量和类枚举怎么理解
    这篇文章给大家介绍C++类常量和类枚举怎么理解,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.类常量有的时候, 我们希望能给类当中定义一些常量,可以给所有类的对象使用。比如说我们在类当中定义一个数组,希望可以定义一个...
    99+
    2023-06-22
  • 怎么理解python全局变量,局部变量和命名空间
    本篇内容介绍了“怎么理解python全局变量,局部变量和命名空间”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python 使用全局和局部变...
    99+
    2023-06-22
  • Java中的堆、栈和常量池怎么理解
    这篇文章主要讲解了“Java中的堆、栈和常量池怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中的堆、栈和常量池怎么理解”吧!1.寄存器最快的存储区, 由编译器根据需求进行分配...
    99+
    2023-06-17
  • 网站开发中外链数量暴增之后出现异常的三个解决办法分别是什么
    今天就跟大家聊聊有关网站开发中外链数量暴增之后出现异常的三个解决办法分别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  不少网站的外链都出现暴增的现象,而外链暴增后的网站有不...
    99+
    2023-06-10
  • 怎么理解并掌握JavaScript中变量和作用域
    这篇文章主要讲解了“怎么理解并掌握JavaScript中变量和作用域”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解并掌握JavaScript中变量和作用域”吧!JavaScript的...
    99+
    2023-06-02
  • 怎么理解C++11 中的线程及锁和条件变量
    今天就跟大家聊聊有关怎么理解C++11 中的线程及锁和条件变量,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。线程类std::thread代表一个可执行线程,使用时必须包含头文件<...
    99+
    2023-06-17
  • 怎么理解C++的静态成员变量和静态成员函数
    怎么理解C++的静态成员变量和静态成员函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一.static修饰变量void text() {static&nb...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作