RMAN的配置configure
扫描二维码
随时随地手机看文章
RMAN中具有一些列的默认配置,这些配置决定了备份和恢复时的一些选项,比如
自动分配通道的配置;
备份保留时间的配置;
备份集大小的限制;
启用或禁用备份优化功能;
镜像复制的备份数量;
是否将某个表空间排除在备份之外。
修改配置是通过CONFIGURE命令。如果想恢复某项设置,我们执行如下命令configure …clear。大部分配置项的值都是To后面的内容,个别的除外,例如
Configure encryption for database off
自动分配通道的配置
Configure device type disk/stb parallelism 2;
Configure device type disk/stb clear;
Configure channel device type disk format “/oradata/backup/rmanback_%U”;
Configure channel device type disk maxpiecesize 100M;
Configure channel device type disk rate 1200K;
Configure channel 1 device type disk format “/oradata/backup/1/rmanback_%U”;
Configure channel 2 device type disk format “/oradata/backup/1/rmanback_%U”;
Configure channel 1 device type disk maxpiecesize 100M;
通道是服务进程与IO设备之间读写的途径,一个通道将对应一个服务进程,在分配通道时,需要考虑IO设备的类型,IO并发处理的能力,IO设备能创建的文件的大小,数据库文件最大的读速率,最大的打开文件数目等因素。
通过configure配置自动分配的通道,而且可以通过数字来指定不同的通道分配情况。当然,也可以在运行块中,手工指定通道分配,这样的话,将取代默认的通道分配。
以下是通道的一些特性值:
读的速率限制:allocate channel … rate = integer;
最大备份片大小限制:allocate channel … maxpiecesize = integer;
最大并发打开文件数(默认16)allocate channel … maxopenfile = integer;
Configure device type disk parallelism 4;指定以后的备份与恢复中,将采用并行度为4,同时开启4个通道进行备份与恢复,当然也可以在run的运行块中指定通道来决定备份与恢复的并行度。并行的数目决定了开启通道的个数。如果指定了通道配置,将采用指定的通道,如果没有指定通道,将采用默认通道配置。
备份保留时间的配置(retention policy)
用来决定哪些备份不再需要了,它一共有三种可选项。
RMAN有两种保持冗余备份的策略,recovery window和redundancy。Redundancy number指定只保留number次备份的冗余信息,之前的备份信息将会标识为obsolete。例如我们可以通过设定configure retention policy to redundancy 2;指定最近两次的备份为有效的,而之前的备份无效,如果我们对数据库的备份不是经常而持续的,我们建议使用这种策略来为数据库保持指定次数的冗余备份。
但,一般认为更有效的备份策略是设置参数recovery window number days;该参数将为我们保留保留至少有一个备份能恢复到指定的日期。
这两种策略是互斥的,默认情况下,RMAN会将冗余备份策略设置为REDUNDANCY=1。我们可以通过下面命令清空当前的备份,将备份冗余策略修改为默认值:
Configure retention policy clear;
另外,我们可以通过如下命令使得备份策略无效:
Configure retention policy to None; 如果我们将备份策略设置为none,那么所有的备份信息都是有效的。
Alter system set control_file_record_keep_time = 7 scope = spfile;
Configure retention policy to recovery window of 3 days;
Configure retention policy to redundancy 3;
Configure retention policy clear;
RMAN> report obsolete;
备份集大小的限制;
Configure maxsetsize to 1G|1000M|1000000K|unlimited;
Configure maxsetsize clear;
启用或禁用备份优化功能;
Configure backup optimization on;
Configure backup optimization off;
Configure backup opeimization clear;
默认值为OFF。
RMAN的备份优化(backup optimization)是指在备份过程中,如果满足特定条件,RMAN将自动跳过某些文件而不将它们包含在备份集中以节省时间和空间。这个特定条件包括:
1, configure backup optimization 参数设置为on;
2, 执行的backup database或backup archivelog命令中带有参数all或like;
3, 分配的通道仅使用一种设备类型,也就是没有同时分配使用sbt与disk多个通道。
那么在进行备份优化时,RMAN是如何判断要备份的文件是否需要被优化呢,这个算法就相当复杂了,而且可能影响优化算法的因素也非常多,假如某库在上午9点被执行过一次全库备份,等下午3点再次执行全库备份时,备份文件没有变动而且已经被备份过时,才会跳过部分文件,所以理论上备份优化仅对于只读表空间或offline表空间起作用。当然对于已经备份过的archivelog文件,它也会跳过。
生成备份副本 datafile|archivelog backup copies;
如果觉得单个备份集不放心,可以设置多个备份集的拷贝,如
Congigure datafile backup copies for device type disk to 2;
Configure archivelog backup copies for device type disk to 2;
如果指定多个copies,可以在通道配置或者备份设置中指定多个copies地点
Configure channel device type disk format ‘/oradata/backup/%U’,’/oradata/backup/1/%U’;
RMAN> backup datafile n format ‘/oradata/backup/%U’,’/oradata/backup/1/%U’;
是否将某个表空间排除在备份之外。
Configure exclude for tablespace users ;
Congigure exclude for tablespace users clear;
在RMAN备份中,可以通过exclude命令排除某些不需要备份的表空间。这样可以缩减备份的容量,对备份进行适当优化和调整。其设置可以通过show exclude命令来查看。
如果想临时增加排除表空间的备份,可以通过以下命令实现:
backup database noexclude;
如果想取消排除设置则可以使用如下命令:
Configure exclude for tablespace users clear;
此外常用的排除备份命令还有:
Backup database skip readonly, skip offline;
默认设备default device type
Configure default device type to disk;
Configure default device type to sbt;
Configure default device type to clear;
控制文件controlfile
Configure controlfile autobackup on;
Configure controlfile autobackup format for device type disk to ‘/oradata/backup/conf/conf_%F’;
Configure controlfile autobackup clear;
Configure controlfile autobackup format for device type disk clear;
Configure snapshot controlfile name to “/oradata/backup/snapcf/controlfile.snp”;
Configure snapshot controlfile name clear;
Oracle的自动备份设置controlfile autobackup on设置只对catalog模式的备份有效。在恢复的时候需要先到nomount状态下恢复controlfile,然后再alter database mount恢复后面的数据文件。如果没有合适的controlfile的备份,也可以采用原来的controlfile或重新创建controlfile执行恢复,当然这时需要考虑这个controlfile和之前备份的system文件可能存在不一致性。所以强烈建议备份的时候一起备份controlfile。
如果RMAN是使用nocatalog执行备份,所有的备份信息是包含在控制文件里的,没有控制文件的话,oracle是找不到备份集的。所以备份集里包含控制文件是没有用的。这时就需要在执行完备份之后再单独执行控制文件的备份。
有两种方法可以完成对控制文件的单独备份操作:
Alter database backup controlfile;
Alter database backup controlfile to trace;
控制文件在备份中意义重大,建议每次对其单独备份,如果数据库版本允许的话,应该设置为控制文件自动备份。同时应该尽可能地增大control_file_record_keep_time这个初始化参数的值。以便备份信息能更长时间的保留。
应该指定比较完善的备份计划,否则备份计划一旦出现缺口,将可能给系统带来灾难。记住:“可能出错的地方一定会出错”。
熟悉RMAN内部备份机制,对DBMS_BACKUP_RESTORE用法有一定掌握在关键时候很有帮助。
备份脚本应该对log重定向并保存。以便在出错时查找有用信息。
其他选项Configure auxname for datafile 1 to ‘/oradata/auxfiles/aux_1.f’;
Configure auxname for datafile 2 to ‘/oradata/auxfiles/aux_2.f’;
Configure auxname for datafile 1 clear;
Configure auxname for datafile 2 clear;
配置显示配置选项后跟了#default的表示该项仍是初始配置,未被修改过。
该命令也相当灵活,其后跟上不同的类型的配置参数,即可以显示不同类型的配置,如:
SHOW ALL;
SHOW DEVICE TYPE;
SHOW DEFAULT DEVICE TYPE;
Rman的format格式中的%
%c 备份片的拷贝数
%d 数据库名称
%D 位于该月中的第几天 (DD)
%M 位于该年中的第几月 (MM)
%F 一个基于DBID唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII为该数据库的DBID,YYYYMMDD为
日期,QQ是一个1-256的序列
%n 数据库名称,向右填补到最大八个字符
%u 一个八个字符的名称代表备份集与创建时间
%p 该备份集中的备份片号,从1开始到创建的文件数
%U 一个唯一的文件名,代表%u_%p_%c
%s 备份集的号
%t 备份集时间戳
%T 年月日格式(YYYYMMDD)