Oracle中的差异和累积增量备份的区别及全备+增量备份脚本分享

0    845    4

👉 本文共约1424个字,系统预计阅读时间或需6分钟。

在Oracle中,差异增量备份和累积增量备份的区别是什么?

差异增量备份和累积增量备份的区别

Oracle数据库备份可以分为完全备份增量备份。完全数据文件备份是包含文件中所有已用数据块的备份。RMAN将所有块复制到备份集或映像副本中,仅跳过从未使用的数据文件块。完全映像副本可准确地再现整个文件的内容。完全备份不能成为增量备份策略的一部分,它也不能作为后续增量备份的基础。

增量备份就是将那些与前一次备份相比发生变化的数据块复制到备份集中。通过RMAN可以为单独的数据文件、表空间、或者整个数据库进行增量备份。增量备份是0级备份,其中包含数据文件中除从未使用的块之外的所有块;或者是1级备份,其中仅包含自上次备份以来更改过的那些块。0级增量备份在物理上与完全备份完全一样。唯一区别是0级备份可用作1级备份的基础,但完全备份不可用作1级备份的基础。要使用增量备份,必须先执行0级增量备份。需要注意的是,若没有执行0级增量备份,直接执行1级增量备份,那么Oracle也会先自动执行0级增量备份,再执行1级增量备份的。这在数据库比较大的时候,一定要注意磁盘空间的情况。

通过BACKUP命令中的INCREMENTAL关键字可指定增量备份,可以指定INCREMENTAL LEVEL[0|1]。在RMAN中建立的增量备份可以具有不同的级别,每个级别都使用一个不小于0的整数来标识,也就是在BACKUP命令中使用LEVEL关键字指定的,例如LEVEL = 0表示备份级别为0,LEVEL = 1表示备份级别为1。每次进行增量备份仅操作那些发生了“变化”的数据块。

RMAN中增量备份有两种:差异增量备份(DIFFERENTIAL)累计增量备份(CUMULATIVE),它们的区别如下表所示:

方式关键字默认说明
差异增量备份DIFFERENTIAL将备份上次进行的同级或低级备份以来所有变化的数据块,有同级备份同级,无同级备份低级
累积增量备份CUMULATIVE将备份上次进行的低级备份以来所有变化的数据块

差异增量备份和累计增量备份如下图所示:

Oracle中的差异和累积增量备份的区别及全备+增量备份脚本分享 Oracle中的差异和累积增量备份的区别及全备+增量备份脚本分享

  • 执行0级增量备份的命令为:RMAN>BACKUP INCREMENTAL LEVEL 0 DATABASE;
  • 执行1级差异增量备份的命令为:RMAN>BACKUP INCREMENTAL LEVEL 1 DATABASE;
  • 执行1级累积增量备份的命令为:RMAN>BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;

可以对处于NOARCHIVELOG模式的数据库执行任何类型的备份(完全或增量)。当然,前提条件是数据库处于未打开状态。需要注意的是,数据库只能恢复到上次备份时的状态。只有当数据库处于ARCHIVELOG模式时,才可以将其恢复到上次提交事务处理时的状态。

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

全库备份的脚本

增量备份的脚本

下面给出增量备份的脚本,备份策略为周日0级全备,周四为1级增量备份,其它为2级增量备份:

    头像

    小麦苗

    学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

    您可能还喜欢...

    发表评论

    您的电子邮箱地址不会被公开。

    20 + 18 =

     

    嘿,我是小麦,需要帮助随时找我哦
    • 18509239930
    • 个人微信

    • 麦老师QQ聊天
    • 个人邮箱
    • 点击加入QQ群
    • 个人微店

    • 回到顶部
    返回顶部