注:以下文字多数摘抄自网络,如有错误纯属正常(出处我就不注明了,我也确实没找着出处);如有侵权,这个。。。千万别来找俺打版权官司。。。三思现在穷的底儿掉,您要再给我来这么一把,我。。。我非拖家带口上你们家噌吃噌喝去。。。。。。。。。
另外,对于这部分内容,我一项不主张死记硬背的,还是要多尝试,理解着去记忆。
一、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 ON;
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备份相关的动态性能表
l V$ARCHIVED_LOG:本视图包含了所有归档重做日志文件的创建情况,备份情况以及其他信息。
l V$BACKUP_CORRUPTION:这个视图显示了RMAN在哪些备份集中发现了损坏的数据坏。在你使用BACKUP VALIDATE命令对备份集进行检查时如果发现了损坏的数据块,RMAN将在这个视图中写入记录。
l V$COPY_CORRUPTIO:本视图显示了哪些镜像复制备份文件已经被损坏。
l V$BACKUP_DATAFILE:本视图通常用来获取每个数据文件中非空白数据块的数量,从而帮助你创建出大小基本相等的备份集。另外,在视图中也包含了数据文件中损坏的数据块的信息。
l V$BACKUP_REDOLOG:本视图显示了在现有的备份集中饮食有哪些归档重做日志文件。
l V$BACKUP_SET:本视图显示了已经创建的备份集的信息。
l V$BACKUP_PIECT:本视图显示了已经创建的备份片段的信息。
可以通过如下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%'