设为首页 收藏本站
查看: 1043|回复: 0

[经验分享] oracle差异增量与累积增量

[复制链接]

尚未签到

发表于 2018-9-11 07:40:04 | 显示全部楼层 |阅读模式
  在rman增量备份中,有差异增量和累积增量的概念
  1、概念
  差异增量:是备份上级(如0级备份相对于1级备份为1级备份上级)及同级备份以来所有变化的数据块,差异增量是默认增量备份方式,这个用的多一些。
  累积增量:是备份上级备份以来所有变化的块
  因为累积增量是备份上级备份以来所有变化的数据块,所以累积增量需要更多的备份时间,同时需要较小的恢复时间;而差异增量正好相反,它可以备份同级备份以来变化的数据块。所以会减少备份时间,但需要更多的恢复时间.在oracle 9中增量备份需要通过扫描整个数据库的数据块才能知道哪些数据块发生了变化,这是一个代价很大,时间很长的过程,而且由于增量备份形成多个不同的备份集,使恢复变得更加不可靠,所以增量备份在版本9中仍然不被推荐使用;在10g中,增量备份作了很大的改进,不需要再扫描所有数据块就能得知哪些数据块发生变化,从而大大提升备份效率。但这些却以牺牲磁盘i/o为代价,所以在oltp事务系统中还得衡量是否愿意以i/o为代价来保证安全及高可用性。10g还支持增量合并,增量备份可支持7级增量。
  2、备份策略及恢复
  以rman多级增量备份来作为备份策略例子:
  增量备份都需要一个0级备份来作为基础,0级备份与全备份的区别在于0级可以用来增量恢复,而全备份则不可以。
  备份策略:
  eg:我们对一星期做如下备份策略  ,若想将数据库恢复到周五,那么差异增量只需要使用星期天的0级,星期三的一级,星期四、五的二级就可以恢复,累积增量则需要星期天的0级、星期三的1级,星期五的二级即可进行恢复。以上是一个星期的备份策略,如果做长期的备份策略则只需要把备份的时间延长即可得到新的备份策略,具体需要看自己备份及恢复能够接受的程度而顶,见最后的备份策略典型案例。
  星期
  差异增量
  累积增量
  星期天
  0级
  0级
  星期一
  2级
  2级
  星期二
  2级
  2级
  星期三
  1级
  1级
  星期四
  2级
  2级
  星期五
  2级
  2级
  星期六
  2级
  2级
  星期天
  0级
  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; #备份归档可选,可以单独定期备份

  >
  >
  >  }
  零级备份脚本
  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; #备份归档可选,可以单独定期备份

  >
  >
  >  }
  一级备份脚本
     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; #备份归档可选,可以单独定期备份

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


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-571690-1-1.html 上篇帖子: 连接oracle数据库的方式 下篇帖子: Oracle 开启归档
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表