所谓增量备份,顾名思义即是每次备份操作那些发生了“变化”的数据块。在RMAN增量备份中有两种:Differential(差异备份)和Cumulative(增量备份)方式。由于需求这里用到的备份方式则是差异增量备份。

差异增量备份概念:

是备份低级别或者同级别备份以来的所有数据块,也就是要备份前期备份以来的差异数据块。在实际的备份中必须存在基础备份也就是0级备份,若没有0级备份则没有比较的对象文件,从而无法实现增量备份,而0级备份便是数据库的全备份。(在Oracle10g之前的版本中,增量备份可以有n多个级别,从0级、1级…….这样的顺序直到n级,n为小于等于4的整数。而10g之后包括10g,Oracle的官方文档明确指出增量备份只有0和1两种级别,设置太多的级别没有太大的意义,不过在实际执行增量操作时,仍能能够指定多个级别,最大能够支持4级的增量备份)

备份原则:

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

(2)     若前面没有同级别的备份,则备份n-x级别以来变化的数据;

总的一点,差异增量触发的条件是:小于等于当前级别;
下面是周备份差异增量备份策略:

Rman备份基本命令:

登录Rman:

win+r 输入rman target/,或者先输入cmd,窗口打开后再输入rman  target/(建议用后者)

登录进入的方式:

Rman targetsystem/newoa

Rman targetsystem/newoa nocatalog(控制文件方式)

Rman targetsystem/newoa catalog(恢复目录方式)

数据库备份:

Backup databaseformat=’ D:/backup/%d_%T_%s’;(format备份到自己想要备份到的地方)

备份表空间:

Backup tablespaceemp;

备份数据文件:

Backup datafileformat’ D:/backup/%d_%T_%s’;

备份归档日志:

Backup archivelogall delete input format ‘D:/backup/%d_%T_%s.dbf’;

备份控制文件:

Backup currentcontrolfile format ‘D:/backup/%d_%T_%s’;(current当前的)

备份spfile(参数文件):

Backup spfileformat=’ D:/backup/%d_%T_%s’;

0级增量备份:(level 后是几就代表几级)

backup incremental level 0 database format 'D:/backup/%d_%T_%s';

1级增量备份:

backup incremental level 1 database format 'D:/backup/%d_%T_%s';

---rman 维护命令:(登录rman后进行的操作)

listbackup                                   --列出全部的备份信息
list backup ofdatabase                       --列出数据库备份
list backup of tablespace emp                 --列出指定的表空间备份
list backup of datafile5                     --列出指定的数据文件备份 
list backup ofcontrolfile                    --列出控制文件备份
list backup ofspfile                         --列出spfile备份 
list archivelogall                           --列出归档日志
list backup of archivelogall                 --列出归档日志的备份

list backup of databasesummary               --列出可用的备份
list backup of tablespace empsummary          --关于表空间的备份
list backup byfile                           --按文件类型列出备份
list expired backup of archivelog all summary  --失效的备份

reportobsolete                               --查看过期的
deleteobsolete                               --删除过期的

list recoverable backup ofdatabase            --列出有效的备份
list expiredbackup                           --列出失效的备份

list expired backup of archivelogall          --列出失效的归档日志备份

在开始操作前一定要将数据库设为归档模式,否则无法实现备份操作

 

首先切换到服务器归档模式,如果已经是归档模式可以跳过此步骤:

(1)     Win键+r打开cmd , sqlplus /nolog (启动sqlplus)

(2)     SQL>conn  system/newoa  as sysdba;(以DBA身份连接数据库)

(3)     SQL>archivelog list;(查看是否处于归档模式)

(4)     shutdownimmediate;(立即关闭数据库)

(5)     startupmount;(启动实例并加载数据库,但不打开)

(6)     alterdatabase archivelog;(更改数据库为归档模式)

(7)     重复步骤(3)若出现下图,表示数据库已切换归档模式

(8)     alterdatabase open;(打开数据库)

开始备份,新建四个文件分别是:rman0.bat,rman0.txt,rman1.bat,rman1.txt(文件的名字随便命名只要区分备份级别即可)

Rman0.bat脚本内容:

rman target system/newoa nocatalogCMDFILE 'd:/Rman0.txt' LOG  'd:/backup/rmanbackup_%DATE:~0,4%_%DATE:~5,2%_%DATE:~8,2%.log';----à(此地址为日志地址)

Rman0.txt内容:

run{

backup incremental level 0database format 'D:/backup/%d_%T_%s';

backup archivelog all format'D:/backup/archivelog_%d_%T_%s_%p' delete all input;

}

Rman1.bat脚本内容:

rman target system/newoa nocatalogCMDFILE 'd:/Rman1.txt' LOG  'd:/backup/rmanbackup_%DATE:~0,4%_%DATE:~5,2%_%DATE:~8,2%.log';

rman1.txt内容:

run{

backup incremental level 1database format 'D:/backup/%d_%T_%s_%p';

backup archivelog all format'D:/backup/archivelog_%d_%T_%s_%p' delete all input;

}

在这里不需要再特意的写备份控制文件,在备份数据库时里面已经包含了控制文件的备份

在开始备份前,需在D盘中新建一个名为backup的文件夹,由上面备份文件存放的路径可以看出;

执行rman0.bat:

出现这个窗口表示成功执行,若执行后没过几秒关闭则失败,具体失败原因在D盘backup文件夹的日志文件中可以查看;

备份成功后到磁盘中可以看到已经备份好的文件;

这样数据库0级备份便完成,接着进入到数据库,添加一些数据再进行1级数据库的备份(执行rman1.bat文件);

这时可以登录rman查看已备份好的数据库具体信息:

打开cmd 执行 rman target/

接着执行 list backup; 会看到以下信息

恢复数据库

恢复数据库的方式:基于scn恢复

选择scn恢复时,scn值为你选择中的备份片的控制文件scn值,使用 list backup命令去查看;

开始恢复:

(1)     登录到rman, --------rman target/

(2)     shutdownimmediate;(立即关闭数据库)

(3)      startup mount;(启动实例并加载数据库,但不打开)

(4)      run{

set untilscn 1041640;

restoredatabase;

recoverdatabase;

alterdatabase open resetlogs;

}

结束之后便可进入数据库查看数据是否恢复。

Oracle的Rman差异增量备份的更多相关文章

  1. 如何通过rman的增量备份恢复dataguard中standby端的数据

    很多正在使用dataguard的客户,都会遇到一个棘手的问题: 在备份端与主库同步的过程中由于网络原因或磁盘问题导致一个或多个归档日志丢失,进而dataguard同步无法继续.很多客户都选择了重新全库 ...

  2. MySQL和MSSQL差异(增量)备份的原理

    MySQL和MSSQL差异(增量)备份的原理 对于真正的增量备份来说,只需要记录当前每页最后的检查点的LSN,如果大于之前全备时的LSN,则备份该页面,否则不用备份 这大大加快了备份速度和恢复时间,同 ...

  3. Oracle通过SCN做增量备份修复DG

    DG由于网络原因或者bug原因经常不同步,有时隔得时间久了,就会丢失归档日志,或者长时间的归档恢复较慢,有一种可以基于scn的方式来恢复DG库,使用基于scn的增量备份来恢复standby库可以节省大 ...

  4. oracle全量、增量备份

    采用0221222增量备份策略,7天一个轮回 也就是周日0级备份,周1 2 4 5 6 采用2级增量备份,周3采用1级增量备份 打开控制文件自动备份 CONFIGURE CONTROLFILE AUT ...

  5. Oracle Rman 增量备份与差异备份

    一.增量与差异 关于Incremental增量备份级别: Oracle 9i 共有五种级别 0 1 2 3 4,0级最高-4级最低,0级是1级的基础以此类推. Oracle 10g官方文档明确指出增量 ...

  6. ORACLE RMAN备份--差异增量与累积增量的策略实例图

    转自原文 ORACLE RMAN备份--差异增量与累积增量的策略实例图

  7. Oracle 差异增量和累计增量备份

    网址: http://www.eygle.com/digest/2009/04/oracle_rman_incremental_backup.html 在rman增量备份中,有差异增量和累积增量的概念 ...

  8. Oracle 12 Rman增量备份

    增量备份 增量备份主要作用是仅复制自上次备份以来已更改的数据块.您可以使用RMAN创建数据文件,表空间或整个数据库的增量备份. 将增量备份作为策略的一部分的主要原因是: 用于基于增量更新备份的策略,其 ...

  9. 示例说明Oracle RMAN两种库增量备份的差别

    1差异增量实验示例 1.1差异增量备份 为了演示增量备份的效果,我们在执行一次0级别的备份后,对数据库进行一些改变. 再执行一次1级别的差异增量备份: 执行完1级别的备份后再次对数据库进行更改: 再执 ...

随机推荐

  1. python set 一些用法

    add(增加元素) name = set(['Tom','Lucy','Ben']) name.add('Juny') print(name)#输出:{'Lucy', 'Juny', 'Ben', ' ...

  2. 【Azure 应用服务】备份网站时由于文件太大了,导致应用服务备份失败。如何解决?

    问题描述 备份网站时由于文件太大了,导致应用服务备份失败.如何解决呢? 问题分析 App Service (应用服务)的备份功能有10GB大小的限制,超过了是无法备份成功的并且该限制是无法扩大的.查看 ...

  3. UVA10881蚂蚁

    题意:      在一个木棍上有只小蚂蚁,他们的移动速度都是1,移动的时候如果和别的蚂蚁碰面,那么碰面的这两只小蚂蚁会马上掉头继续走,给你每只蚂蚁的初始距离木棒左端点的距离和方向,以及木棍长度,问你t ...

  4. Linux中的防火墙(Netfilter、Iptables、Firewalld)

    目录 Netfilter Iptables iptables做本地端口转发 Firewalld Netfilter Netfilter是Linux 2.4内核引入的全新的包过滤引擎,位于Linux内核 ...

  5. CMS Joomla SQL注入漏洞练习(CVE-2017-8917 )

    0x01 原理 1.Joomla是内容管理的网站程序,也就是CMS.漏洞原理是com_fields组件,对请求数据过滤不严谨,从而导致sql注入.这个就是有问题的代码,可以看出sql根本没有过滤,通过 ...

  6. [CTF]Rabbit加密

    [CTF]Rabbit加密 ---------------------  作者:adversity`  来源:CSDN  原文:https://blog.csdn.net/qq_40836553/ar ...

  7. (转)VMware中桥接模式与NAT模式的区别

    bridged networking(桥接模式) 在这样的模式下.VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它能够訪问网内不论什么一台机器. 在桥接模式下.你须要手工为虚拟系统配置 ...

  8. 手撸了一个starter,同事直夸我666~

    Spring Boot starter原理 Spring Boot 将常见的开发功能,分成了一个个的starter,这样我们开发功能的时候只需要引入对应的starter,而不需要去引入一堆依赖了!st ...

  9. [CSP-J2019 江西] 道路拆除 题解

    发现大家都是将路径拆成三条链来做,这里提供一种暴力的乱搞方法. 思路 看到这一道题的第一想法就是跑最短路.可是仔细想想就发现,由于重合的路径只算一遍,所以导致两条最短路不一定是最优解. 接着,看到数据 ...

  10. dependencyManagement 版本管理

    帮别人解决bug的时候碰到,随便记录一下. 使用<dependencyManagement>标签, 做版本管理的时候,需要父子项目关联,就需要子模块中利用<parent> 否则 ...