注:以下文字多数摘抄自网络,如有错误纯属正常(出处我就不注明了,我也确实没找着出处);如有侵权,这个。。。千万别来找俺打版权官司。。。三思现在穷的底儿掉,您要再给我来这么一把,我。。。我非拖家带口上你们家噌吃噌喝去。。。。。。。。。

  另外,对于这部分内容,我一项不主张死记硬背的,还是要多尝试,理解着去记忆。

一、FORMAT字符串替代变量

    使用FORMAT参数时可使用的各种替换变量,如下:

    %c :备份片的拷贝数(从1开始编号);

    %d :数据库名称;

    %D :位于该月中的天数 (DD);

    %M :位于该年中的月份 (MM);

    %F :一个基于DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD 为日期,QQ 是一个1-256 的序列;

    %n :数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8;

    %u :是一个由备份集编号和建立时间压缩后组成的8字符名称。利用%u可以为每个备份集生成一个唯一的名称;

    %p :表示备份集中备份片段的编号,从1 开始编号;

    %U :是%u_%p_%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式;

    %s :备份集的号;

    %t :备份集时间戳;

    %T :年月日格式(YYYYMMDD);s

    注:如果在BACKUP命令中没有指定FORMAT选项,则RMAN默认使用%U为备份片段命名。

二、CONFIGURE配置项介绍

  首先,我们先来查看一下当前配置,通过SHOW ALL命令:

    连接到目标数据库: JSSWEB (DBID=3391142503)

    RMAN>  show all ;

    正在使用目标数据库控制文件替代恢复目录

    RMAN  配置参数为:

    CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

    CONFIGURE BACKUP OPTIMIZATION OFF; # default

    CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

    CONFIGURE CONTROLFILE AUTOBACKUP ON;

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ¨d:/backup/%F¨;

    CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default

    CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

    CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

    CONFIGURE MAXSETSIZE TO UNLIMITED; # default

    CONFIGURE SNAPSHOT CONTROLFILE NAME TO ¨F:\ORAHOME1\DATABASE\SNCFJSSWEB.ORA¨; #

    default

    RMAN>

  Show 命令在RMAN命令篇简单介绍过,同时我们也已经知道后跟#default表示该条配置仍然是初始的默认配置,如果我们想把某条更改过的配置再置为初始应该怎么办呢,很简单,用如下命令: CONFIGURE ... CLEAR ; 例如:

    RMAN>  CONFIGURE RETENTION POLICY CLEAR ;

    旧的 RMAN 配置参数:

    CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

    RMAN  配置参数已成功重置为默认值

    上述的各项配置,我们在前面章节中有一些已经有所体现,下面我们再逐条过一遍。

    1 、 CONFIGURE RETENTION POLICY 配置备份保留策略

    第4章节我们详细讲过关于备份保留策略,也知道了它有两种保留策略:

    基于时间:

    CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF  n  DAYS;

    基于冗余数量:

    CONFIGURE RETENTION POLICY TO REDUNDANCY  n ;

    也可以取消备份保留策略:

    CONFIGURE RETENTION POLICY TO NONE;

    2 、 CONFIGURE BACKUP OPTIMIZATION 配置备份优化

    也是第4章节提到的内容,备份优化,包括OFF和ON两个状态

    打开备份优化:

    CONFIGURE BACKUP OPTIMIZATION ON;

    关闭备份优化:

    CONFIGURE BACKUP OPTIMIZATION O FF ;

    3 、 CONFIGURE DEFAULT DEVICE TYPE  配置IO设备类型

    RMAN 支持的IO设备类型有两种:磁盘(DISK)和磁带(SBT),默认情况下为磁盘。

    使用磁盘设备:

    CONFIGURE DEFAULT DEVICE TYPE TO DISK;

    使用磁带设置:

    CONFIGURE DEFAULT DEVICE TYPE TO SBT;

    在这里需要注意的一点是:如果IO设备发生变化,相关配置项也需要修改。例如:

    RMAN> CONFIGURE DEVICE TYPE  DISK  PARALLELISM 2;

    4 、 CONFIGURE CONTROLFILE AUTOBACKUP 配置控制文件自动备份

    是否自动备份,包含两个状态:OFF和ON

    打开自动备份

    CONFIGURE CONTROLFILE AUTOBACKUP  ON

    禁止自动备份

    CONFIGURE CONTROLFILE AUTOBACKUP  OFF

    同时可以通过如下配置指定备份的控制格式,路径。例如:

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE  TYPE   DISK TO ¨d:/backup/%F¨;

    在备份期间,将产生一个控制文件的快照,用于控制文件的读一致性,这个快照可以通过如下配置:

    CONFIGURE SNAPSHOT CONTROLFILE NAME TO ¨ D:/BACKUP/ SNCFJSSWEB.ORA¨;

    5 、 CONFIGURE DEVICE TYPE  设置并行备份

    RMAN 支持并行备份与恢复,也可以在配置中指定默认的并行程度。例如:

    CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

    指定在以后的备份与恢复中,将采用并行度为2,同时开启2个通道进行备份与恢复,当然也可以在run中指定通道来决定备份与恢复的并行程度。

    并行的数目决定了开启通道的个数。如果指定了通道配置,将采用指定的通道,如果没有指定通道,将采用默认通道配置。有点儿绕是吧,我来给你白话一把。

    默认情况下,自动分配通道的并行度为1,如果你通过设置PARALLELISM设置了并行通道为2,那么在run块中,如果你没有单独通过ALLOCATE CHANNEL命令指定通道,它会默认使用2条并行通道,如果你在run命令块中指定了数个ALLOCATE CHANNEL,那么rman在执行备份命令时会以你设置的channel为准,而不管configure中配置了多少个并行通道。需要注意的一点是,在backup命令中有一个FILESPERSET参数,该参数是指rman建立的每个备份集中所能包含的备份片段(即磁盘文件)的最大数,该参数默认值为64,如果在执行backup命令时没有指定该参数值,那么rman会仅使用第一个通道来执行备份,其它通道将处于空闲状态。关于通道数与FILESPERSET值之间也有一个大小关系,逻辑稍显复杂这些就不多废话了,总之一条,filesperset值不要小于你设定的通道数。

    6 、 CONFIGURE DATAFILE BACKUP COPIES  设置备份文件冗余度

    4 章也讲过,应该也还有印象吧,不记的了就赶紧回去翻翻。

    7 、 CONFIGURE MAXSETSIZE  配置备份集的最大尺寸

    该配置限制通道上备份集的最大尺寸。单位支持bytes,K,M,G。默认值是unlimited。相信应该也不会有什么人改它吧,我花了整整20秒时间思考,然后确认,我应该用不着它,OK,跳过。

三、RMAN备份相关的动态性能表

  • V$ARCHIVED_LOG :本视图包含了所有归档重做日志文件的创建情况,备份情况以及其他信息。
  • V$BACKUP_CORRUPTION :这个视图显示了RMAN在哪些备份集中发现了损坏的数据坏。在你使用BACKUP VALIDATE命令对备份集进行检查时如果发现了损坏的数据块,RMAN将在这个视图中写入记录。
  • V$COPY_CORRUPTIO :本视图显示了哪些镜像复制备份文件已经被损坏。
  • V$BACKUP_DATAFILE :本视图通常用来获取每个数据文件中非空白数据块的数量,从而帮助你创建出大小基本相等的备份集。另外,在视图中也包含了数据文件中损坏的数据块的信息。
  • V$BACKUP_REDOLOG :本视图显示了在现有的备份集中饮食有哪些归档重做日志文件。
  • V$BACKUP_SET :本视图显示了已经创建的备份集的信息。
  • V$BACKUP_PIECE :本视图显示了已经创建的备份片段的信息。
  • 可以通过如下SQL语句获得正在进行的镜像复制操作的状态信息:

    Select  sid,
           serial#,
           context ,
           sofar,
           totalwork,
           round(sofar / totalwork *  100 ,  2 ) "% Complete"
       From  v$session_longops
      where  opname  like   ¨RMAN:%¨
        and  opname  not   like   ¨RMAN:aggregate%¨

    通过如下SQL获得rman用来完成备份操作的服务进程的SID与SPID信息:

    Select  sid, spid, client_info
       from  v$process p, v$session s
      where  p.addr = s.paddr
        and  client_info  like   ¨%id=rman%¨