一.增量备份的相关概念

1. 在前面说明了RMAN的完整备份,完整备份是备份所用使用过的块,不备份没有使用的过的块;增量备份只备份自上次备份以来更改过的块。

2.即使RMAN的默认操作是在增量备份时扫描整个数据文件来确定哪些块已经更改,也仍然节省时间,因为在所有情况下,瓶颈都在于对磁盘的写操作 ,而不是文件的读取。如果再启用块变更跟踪,这样就不用扫描整个文件了,备份时间也大大减少了。

3.用户管理的备份是不能实现增量备份的,RMAN可以实现。

4.增量备份分为积累增量备份和差异增量备份,积累增量备份是自上次完整备份以来所有更改过的块;差异增量备份是自上次增量备份以来更改的所用块。

二.增量备份的级别

1.增量备份依赖于包含所有块的起点:这个称为增量级别0备份。然后,差异增量级别1备份将提取自上一个级别1备份以来所有更改过的块,如果没有介于其间的级别1备份,则提取自上一个级别0备份以来更改的所用块。积累增量备份将提取自上一个级别0备份以来更改过的所有块,不考虑期间是否存在任何级别1备份。

2增量级别0备份和完整备份的效果是一样的,只是增量级别0备份可以作为增量备份起点而完整备份不可以。

3.在较早的RMAN版本中增量的级别可以指定0到4个级别,

Different incremental backups contain only modified blocks  from level n(1~4) or lower.

Cumulative  incremental backups contain only modified blocks from level n(0~3) or lower.

即差异增量备份是备份两个相同级别之间(指两个间隔的时间)所有变更的块或者没有和现在级别相同的备份则找到较低的级别,备份两者之间的变更块;积累增量备份是备份现在这个级别到比现在低一个级别所有变更的块或者找到比现在更低的级别之间更改块的备份。

三.增量备份的实现

1.对文件/u01/oradata/wilson/paul01.dbf进行增量备份,它的文件号是6,命令如下,

RMAN> run{

2> allocate channel d1 type disk;

3> backup incremental level 0 datafile 6 format='/u01/backup/l0_%U';

4> }

这是增量0级备份,作用效果和完整备份一样,备份所用使用过的块,但它可以作为增量备份的基础,而完整备份不可以。

2.对文件进行增量1级别备份,命令如下

RMAN> run{

2> allocate channel d1 device type disk;

3> backup incremental  level 1  datafile 6 format='/u01/backup/l1_%U';}

它备份自上一个级别1备份(对于第一运行,是级别0)以来更改的所有块。

3.对文件进行积累增量备份

RMAN> run{

2> allocate channel d1 type  disk;

3> backup   incremental  level 1 cumulative datafile 6 format='/u01/backup/l1c_%U';

4> }

它备份自级别0备份以来更改的所有块。

4.如果没有运行级别0备份,那么第一次级别1差异备份或者积累备份将实际执行级别0备份。

5.如果备份时间较长可以用视图v$session_longops来查看时间,记录中超过6s以上的操作,

SQL> select sid,sofar,totalwork  from  v$session_longops;

SID      SOFAR  TOTALWORK

---------- ---------- ----------

40          1          1

40          2          2

其中sofar是到目前为止所运行的时间,totalwork是总共需要运行的时间。

四.变更块跟踪

1. RMAN的默认操作是在增量备份时扫描整个数据文件来确定哪些块已经更改,这样做的优点是允许RMAN检查块的损坏,但这样花费的时间较长,所以开启变更块更踪,RMAN在执行增量备份时读取变更跟踪文件就可以确定需要备份的块,这样大大减少了时间。

2.变更跟踪文件的默认位置是DB_CREATE_FILE_DEST目录(如果作了定义),也可以指定跟踪文件的名称和位置。

3.启用块变更跟踪,指定文件名和位置,命令如下,

SQL> alter database enable block change tracking using file '/u01/change_tracing.dbf';

Database altered.

关闭块变更跟踪,关闭后变更跟踪文件自动删除,命令如下,

SQL> alter database disable block change tracking ;

Database altered.

五.标签

给备份级一个逻辑的名字,方便管理。给备份级加上标签,

RMAN> run{

2> allocate channel d1 device type disk;

3> backup incremental level  1  datafile 11 tag='sun';}

直接查找

RMAN> list backup tag='sun';

六.相关视图

1.视图v$session

SQL> select sid,username,client_info from v$session;

SID      USERNAME                                CLIENT_INFO

---------- ------------------------------          -----------------------------------

36

37          SYS

38          SYS                            rman channel=ORA_DISK_1

40          SYS

可以看到启动的服务器进程,rman一旦连接上,就会默认启动2个服务器进程,polling和defalut进程,备份时会需要第三个会话:通道。

2.set command to 命令,命令如下

RMAN> run{

2> allocate channel d1 type disk;

3> set command id to 'sunshine';

4> backup datafile 6 format='/u01/backup/p_%U';}

指定set command id  to  ‘sunshine’;

可以在v$session会话中查到相关的进程,

SQL> select sid,username,client_info from v$session;

SID      USERNAME           CLIENT_INFO

---------- ------------------------------ -----------------------------------

29     SYS

38     SYS

39     SYS                   id=sunshine

3.视图v$process

在v$session可以查到哪个SID在哪个通道上工作,在通过和v$process关联查到SPID等进程信息,可以监控进程,命令如下,

SQL> select sid,spid,client_info from v$process  p ,v$session s

2  where p.addr=s.paddr

3  and client_info like '%id=sun%';

SID      SPID                     CLIENT_INFO

---------- ------------------------ -----------------------------------

39         5081                     id=sunshine

最后,当RMAN异常中断时,不会记录在控制文件上或者数据库中,但是磁盘上会有文件,要去删除它。

相关文章:Oracle—RMAN备份(一)    Oracle—RMAN备份(二)

Oracle—RMAN备份(三)的更多相关文章

  1. Oracle—RMAN备份(一)

    一.RMAN备份相关概念 1.RMAN备份中表空间不需要处于backup模式下,它备份数据文件,归档日志文件,控制文件,spfile和备份集片,但不备份联机重做日志文件,临时文件和口令文件. 2.备份 ...

  2. Oracle—RMAN备份(二)

    在Oracle  RMAN备份(一)中,对各种文件在RMAN中备份进行了说明, 一.备份集的复制 在RMAN 备份中,可以备份其自己的备份,即备份一个文件放在多个目录下,oralce支持最多备份四个. ...

  3. ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库,表空间,数据文件

    ORACLE RMAN备份及还原   RMAN能够进行增量备份:数据库.表空间.数据文件 仅仅有使用过的block能够被备份成backup set 表空间与数据文件相应关系:dba_data_file ...

  4. Oracle RMAN 备份一例

    Oracle RMAN备份一例: Solaris 10 + Oracle 11.2.0.3 Shell:csh,安装有bash,脚本调用bash 备份策略:周日0级备份,周一~周六1级备份,每6小时备 ...

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

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

  6. Oracle RMAN备份策略

    建立增量备份:如果数据库运行于不归档模式下,只能在数据库干净关闭的情况下 ( 以 normal .immediate . transactional 方式关闭 ) 才能进行一致性的增量备份,如果数据库 ...

  7. ORACLE RMAN备份及还原(转)

    RMAN可以进行增量备份:数据库,表空间,数据文件 只有使用过的block可以被备份成backup set 表空间与数据文件对应关系:dba_data_files / v$datafile_heade ...

  8. Oracle RMAN备份恢复指导书

    目 录 1 目的与范围... 1 2 术语和定义... 1 3 角色和职责... 2 4 使用RMAN备份数据库... 2 4.1.1 检查数据库模式... 2 4.1.2 连接到target数据库. ...

  9. Oracle RMAN备份与还原注意事项

    1 备份文件管理 如果要删除之前的备份,不要手动去目录下删除,应该在rman命令模式下使用删除命令,否则虽然在磁盘上把物理备份文件删除了,但是使用备份查看命令会一直看到已经删除的备份文件 list b ...

随机推荐

  1. H面试程序(10): 字符串包含问题

    题目描述:判断第二个字符串中的元素是否都能在第一个字符串中找到: 注意:和字符串的字串的问题有所区别,如第一个字符串为  abcdefg,第二个字符串为 aaabc,第二个字串还是包含于第一个字符串 ...

  2. 实战:推断mysql中当前用户的连接数-分组筛选

    #connets.sh #!/bin/sh #ocpyang@126.com #依据输入參数u或d来显示出相应的username或数据库名中用户的连接数. #也能够输入u 详细username或d 详 ...

  3. Hide the common top menu in Ubuntu 12.04

    隐藏:1.sudo apt-get autoremove appmenu-gtk appmenu-gtk3 appmenu-qt2.reboot 恢复: 1.sudo apt-get install ...

  4. 第一篇博客关于Log4net的配置记录

    说明:本程序演示如何利用log4net记录程序日志信息.log4net是一个功能著名的开源日志记录组件.利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包括M ...

  5. c#中的面向对象基础知识总结

    面向对象 1.面向过程----->面向对象 1.  面向过程:面向的是完成这件事儿的过程,强调的是完成这件事儿的动作. 面向对象:意在写出一个通用的代码,屏蔽差异. 我们在代码中描述一个对象,通 ...

  6. mysql 在windows下的安装,开发基础与要点

    1:安装(windows下) 官网下载.msi文件 运行安装时只需要安装server就行了 在环境变量中配置到bin目录:e.g:C:\programFile\...mysql\bin 完成后进入wi ...

  7. Visual Studio 2015 RC Downloads

    https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs

  8. 发布到IIS后 程序乱码

    网站-功能视图-.net全球化 编码设置 请求:utf-8 文件:gb2312 响应:utf-8 响应头:utf-8 可以根据需要自己定义

  9. handler机制和异步更新UI页面

    Android 提供了Handler和Looper来满足线程之间的通行,Handler是先进先出原则,Looper类用来管理特定线程内对象之间的消息互换,也可以使用Runnable来完成页面异步更新 ...

  10. Mongodb基本操作之.net

    1.下载官方for C#驱动 2.导入2个dll文件 3.连接字符串 <add key="MongoConn" value="mongodb://127.0.0.1 ...