RMAN基础知识补充

一、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%¨

       

       

你可能感兴趣的:(rman)