(1)备份对象

可以使用RMAN进行的备份对象如下:

--整个数据库:备份所有的数据文件和控制文件;

--数据文件:备份指定的一个或多个数据文件;

--表空间:备份指定的一个或多个表空间;

--归档重做日志文件:备份归档重做日志文件;

--控制文件:在线备份目标数据库当前的控制文件;

--服务器初始化参数文件:备份目标数据库的服务器初始化参数文件;

--数据文件的镜像复制:备份使用BACKUP AS COPY命令创建数据文件的镜像复制;

--控制文件的镜像复制:备份使用BACKUP AS COPY命令创建控制文件的镜像复制;

--备份集:备份使用BACKUP命令创建的备份集。

使用RMAN对不同对象的备份形成的结果是一个或多个备份集或镜像文件,默认是备份集。

(2)备份形式

在RMAN中,备份分为镜像复制和备份集两种。

--镜像复制是对数据文件、控制文件和归档重做日志文件进进行精确复制,镜像复制文件与原文件大小相同,原文件中未使用的数据块也被复制到备份文件中。只有备份介质为磁盘时,才能进行镜像复制。

--备份集是RMAN创建的一个具有特定格式的逻辑对象,一个备份集在物理上由一个或多个RMAN指定格式的二进制文件组成。每一个备份文件称为一个备份片段(Backup Piece)。

(3)RMAN备份类型

基于RMAN的备份有多种备份类型,包括一致性备份与不一致性备份、数据库打开状态下的备份与关闭(指启动到mount状态)状态下的备份、完全备份与增量备份等。一致性备份是指数据库关闭后加载到mount状态,然后开始备份,利用一致性备份修复数据库后不需要进行恢复操作;不一致性备份是指数据库在打开或非正常关闭情况下的备份,利用不一致性修复数据库后还需进行恢复操作。这里我们着重介绍完全备份与增量备份。

(3.1)完全备份

完全备份的概念:RMAN中的完全备份(FULL Backup)不是指对整个数据库进行完全备份,而是对数据文件进行备份时,不管数据文件中的数据块是否被修改都复制到备份中。

(3.2)增量备份

增量备份的概念:RMAN中的增量备份(Incremental Backup)是指备份数据文件时,只备份上次增量备份后被修改过的数据块,因此,增量备份要比完全备份小得多,但增量备份的时间不一定比完全备份的时间短,因为增量备份也要读取数据文件中所有的数据块

根据增量备份所参照的基础不同,增量备份又分为差异增量备份(Differential Incremental Backup)和累积增量备份(Cumulative Incremental Backup)两种。

  • 差异增量备份:以最近级别为0或1的增量备份为基础,复制所有被修改过的数据块。 默认为差异增量备份。
  • 累积增量备份:以最近级别为0的增量备份为基础,复制所有被修改过的数据块。

例子1.差异增量备份

如果每周周日对数据库做级别为0的增量备份,即备份数据库中所有被使用的数据块,其余每天对数据库做差异增量备份,即周一备份相对周日的增量备份发生数据变化的数据块,周二备份相对于周一的增量备份发生数据变化的数据块,…,以此类推。备份策略应该如下图:

例子2.累积增量备份

如果每周周日对数据库做级别为0的增量备份,即备份数据库中所有被使用的数据块,其余每天对数据库做累积增量备份,即周一备份相对周日的增量备份发生数据变化的数据块,周二也备份相对于周日的增量备份发生数据变化的数据块,…,以此类推。备份策略应该如下图:

(4)并行备份

默认情况下,RMAN在创建备份集时只会使用一个通道向一个磁盘或磁带中写入数据,如果要备份的文件较多,可以启动多个通道同时向多个磁盘写入数据,即并行备份。

可以通过以下几种方式启用并行备份:

--使用CONFIGURE DEVICE TYPE disk/sbt命令将 PARALLELISM 参数设置大于1

--在执行BACKUP命令之前手动分配多个通道,然后在BACKUP命令中设置FILESPERSET参数,这样在备份时RMAN会根据参数设置备份集的数量,使用手动分配的通道进行并行备份。

(5)通道分配

在使用RMAN对目标数据库进行备份、修复、及恢复时,必须为操作系统分配通道。可以手动分配,也可以自动分配。

(5.1)自动分配

自动分配通道相关预定义参数包括:

--CONFIGURE DEFAULT DEVICE TYPE TO disk|sbt :指定自动通道的默认设备;

--CONFIGURE DEVICE TYPE disk|sbt PARALLELISM n :设置自动通道的数量;

--CONFIGURE CHANNEL DEVICE TYPE:对自动分配的所有通道进行设置;

--CONFIGURE CHANNEL n DEVICE TYPE:对自动分配的通道编号为n的进行设置。

(5.2)手动分配

可以使用RUN命令手动分配通道,语法为:

RUN{
ALLOCATE CHANNEL 通道名称 DEVICE TYPE 设备类型;
BACKUP …
}

例子.为user01表空间的备份分配一个通道,设备类型为磁盘

RUN{
ALLOCATE CHANNEL ch1 DEVICE TYPE disk FORMAT ‘/home/%U’;
BACKUP TABLESPACE usre01;
}

在RMAN命令执行器中,单独执行BACKUP命令时,使用自动分配的通道,在RUN内使用BACKUP命令,但没有手动分配通道,则使用自动分配的通道。

可以同时定义多个通道并行备份数据库,例如,使用2个通道并行备份两个数据文件。

RMAN > RUN {
ALLOCATE CHANNEL ch1 DEVICE TYPE disk;
ALLOCATE CHANNEL ch2 DEVICE TYPE disk;
BACKUP DATAFILE 1,2;
}

如果每个BACKUP语句只对应一个数据文件,则在同一时间只有一个数据文件备份,只有一个通道被激活。

RMAN > RUN{
ALLOCATE CHANNEL ch1 DEVICE TYPE disk1;
ALLOCATE CHANNEL ch2 DEVICE TYPE disk1;
BACKUP DATAFILE 1;
BACKUP DATAFILE 2;
}

RMAN备份与恢复(三)--备份相关概念的更多相关文章

  1. Oracle【IT实验室】数据库备份与恢复之四:RMAN(备份与恢复管理器)

    RMAN是ORACLE提供的一个备份与恢复的工具,可以用来备份和还原数据库文件. 归档日志和控制文件.它也可以用来执行完全或不完全的数据库恢复. RMAN可以由命令行接口或者 OEM的 Backup ...

  2. RMAN 备份与恢复深入解析(二)

    RMAN 备份与恢复深入解析(一)  http://space.itpub.net/26686207/viewspace-760869 更多精彩内容尽在 www.leonarding.com < ...

  3. RMAN备份与恢复深入解<一>

    一 数据库版本 SQL> select *from v$version; BANNER ----------------------------------------------------- ...

  4. RMAN备份与恢复实践(转)

    1   RMAN备份与恢复实践 1.1  备份 1.1.1 对数据库进行全备 使用backup database命令执行备份 RMAN> BACKUP DATABASE; 执行上述命令后将对目标 ...

  5. RMAN备份与恢复之概念二

      1   RMAN备份恢复 1.1  基础理论 恢复可以分为完全恢复和不完全恢复 完全数据库恢复是恢复到故障发生前的状态,所有已经提交的操作都进行恢复,确保数据库不丢失任何数据,完全恢复只用于归档模 ...

  6. RMAN备份与恢复(一)--认识RMAN

    RMAN(Recovery Manager)是Oracle恢复管理器的简称,是集数据库备份(backup).修复(restore)和恢复(recover)于一体的工具.接下来了解一下RMAN中的几个重 ...

  7. RMAN备份与恢复总汇

    1.1  备份 1.1.1 对数据库进行全备 使用backup database命令执行备份 RMAN> BACKUP DATABASE; 执行上述命令后将对目标数据库中的所有数据文件进行备份, ...

  8. RMAN备份与恢复(二)--常用操作学习

    (1)连接目标数据库 在RMAN中可以建立与目标数据库或恢复目录数据库的连接.与目标数据库连接时,用户须具有sysdba系统权限,以保证可以进行数据库的备份.修复与恢复工作. 可以在操作系统命令提示符 ...

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

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

随机推荐

  1. python 对列表去重,并保持列表原来顺序

    mailto = ['cc', 'bbbb', 'afa', 'sss', 'bbbb', 'cc', 'shafa'] addr_to = list(set(mailto)) addr_to.sor ...

  2. SQL中CASE 的用法 转载

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

  3. embedded tomcat运行java web,Unable to compile class for JSP

    环境 eclipse:4.5.2 jre:1.8 java project compiler:1.8 embedded tomcat:7.0.32 可以正常启动,但是访问时,会报错. HTTP Sta ...

  4. vs文件属性(复制到输出目录)是什么意思

    右击项目里的文件,选择属性(F4)会有复制到输出目录的选项. 它提供三项选择,如图: 如果选择始终复制或如果较新则复制会在该程序集的bin目录下生成该文件,如图:

  5. H5 中html 页面存为图片并长按 保存

    最近接到的一个新需求:页面一个静态H5,中间有一页是输入信息,然后跳转到最后一页,自动将页面生成图片,用户可以长按图片保存到手机上. 展示一下最后一页的样子: 刚拿到这个需求,在网上看了很多文章,最普 ...

  6. Spring学习笔记:Spring概述,第一个IoC依赖注入案例

    一.Spring的优点 企业及系统: 1.大规模:用户数量多.数据规模大.功能众多 2.性能和安全要求高 3.业务复杂 4.灵活应变 Java技术:高入侵式依赖EJB技术框架-->Spring框 ...

  7. scss-null在@mixin传参中的应用

    可以给混合器声明参数,以便灵活的配置相关属性值,看如下scss代码: @mixin antzone-div($color, $font-size) { color:$color; font-size: ...

  8. 从零开始的全栈工程师——underscore

    underscore 是js封装的一个js库 库和框架是有区别的 mvc框架就是backbone就是依赖这个库underscore就是定义了一个_( 下划线对象 ); 函数库的所有的方法都归属于这个对 ...

  9. 基于CSS3的3D旋转效果

    自从有了html5和css3,好多以前只能想想的华丽效果都可以上手实现了.3D 转换(个人认为3D变换更贴切^)就是其中之一.关于3D转换,可以阅读CSS3 3D transform变换,不过如此,文 ...

  10. js变量定义提升、this指针指向、运算符优先级、原型、继承、全局变量污染、对象属性及原型属性优先级

    原文出自:http://www.cnblogs.com/xxcanghai/p/5189353.html作者:小小沧海 题目如下: function Foo() { getName = functio ...