一.增量备份的相关概念

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. com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行

    參考博客com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行 java获取结果集,if(rs!=null).和while(rs.next( ...

  2. sql中的case when

    sql语言中有没有类似C语言中的switch case的语句?? 没有,用case   when   来代替就行了.            例如,下面的语句显示中文年月         select ...

  3. NumberBox( 数值输入框) 组件

    本节课重点了解 EasyUI 中 NumberBox(数值输入框)组件的使用方法,这个组件依赖于 ValidateBox(验证框)组件.一. 加载方式//class 加载方式<input typ ...

  4. Messager( 消息窗口) 组件

    一. 加载方式消息窗口提供了不同的消息框风格,包含 alert(警告框).confirm(确认框).prompt(提示框).progress(进度框)等.所有消息框都是异步的,用户可以在交互消息之后使 ...

  5. 最全C语言笔记回顾

  6. ArcGIS Server 9.3 安装(win7).

    概述: 安装的过程还不算复杂,但是有个地方需要注意:就是防火墙.需要将 "本机的防火墙" 关掉, 并将 "杀毒软件关闭"(360和avira都会乱来,搞得我安了 ...

  7. UIViewController的生命周期(图解)

    当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序1. alloc                             创建对象,分配空间2.init (initWithNibName ...

  8. sql server 查找指定字符串的位置

    create function fn_find(@find varchar(8000), @str varchar(8000), @n smallint) returns int as begin i ...

  9. jquery easyui+layer后台框架

    最近使用jquery easyui搭建了一个后台框架,以方便以后使用 上图先: 下载地址:CSDN下载

  10. .net转php laraval框架学习系列(四) 项目实战---View

    laravel的参考文档中view的讲解有些简单. 在实际项目开发中view的灵活性其实是非常大. 首先来看看laravel中的布局页 和asp.net mvc中有什么不同 <!DOCTYPE ...