关于配置RMAN备份环境
你可以给每个目标数据库设置一些固定的配置,这些配置控制着RMAN多个方面的行为。例如,你可配置备份的保存策略、默认的备份目录、默认的备份设备类型等。你可以用show命令来查看配置及用configure来修改RMAN的配置。
1.查看和清除RMAN配置参数
show命令可以查看RMAN当前的配置情况,以及这些参数当前是否设置了默认值。
SHOW ALL; --查看说有的配置情况
你也可以通过SHOW命令加指定的配置参数的名字来查看它的值。例:
SHOW RETENTION POLICY; --查看备份的保存策略
SHOW DEFAULT DEVICE TYPE; --查看默认的备份设备类型
你可以通过命令CONFIGURE ... CLEAR命令将相应的配置参数恢复回默认值。例:
CONFIGURE BACKUP OPTIMIZATION CLEAR; --将参数BACKUP OPTIMIZATION重置回默认值
CONFIGURE RETENTION POLICY CLEAR; --将参数RETENTION POLICY重置回默认值
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;
2.配置默认备份设备的介质类型:磁盘或磁带
如果没有指定默认的目标备份设备,RMAN将会启用默认配置,RMAN的默认备份介质类型是磁盘,你也可以手动修改默认值。
CONFIGURE DEFAULT DEVICE TYPE TO DISK 指定默认备份设备类型为磁盘。如果启用了recovery area备份的默认路径是 fast recovery area;如果禁用则默认路径是磁盘的某个目录;当你备份到磁盘时,数据库的逻 辑块大小必须是目标磁盘物理块大小的偶数倍,不过大多数的磁盘设备的物理块大小都是 512B(数据库文件逻辑块大小一般为2KB),对于磁盘很少会遇到这方面的限制。然而, 对于备份到一个可写的DVD设备或一个物理块很大的设备就需要注意这方面的限制了。
CONFIGURE DEFAULT DEVICE TYPE TO sbt -- 指定默认备份设备类型为磁带。
3.配置默认的备份类型:备份集或副本
BACKUP命令可以创建备份集或镜像副本。对于磁盘,你可以用命令CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO以备份集或镜像副本的形式备份出你的数据库。磁盘默认的数据库备份类型是一个未压缩的备份集。
需要注意的是,RMAN只能将镜像副本写入到磁盘,而磁带的备份类型只能是备份集。
RMAN可以通过在命令BACKUP TYPE TO ... BACKUPSET里指定COMPRESSED参数用二进制压缩的形式创建备份集。禁用的话,执行命令CONFIGURE DEVICE TYPE加入其他参数(忽略COMPRESSED参数)即可。
例子:
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY; -- 备份成镜像副本
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET; --备份成未压缩备份集
下面例子是配置压缩备份集
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE DEVICE TYPE sbt BACKUP TYPE TO COMPRESSED BACKUPSET;
4.配置通道
CONFIGURE CHANNEL命令为磁盘或磁带通道配置一些可选参数,需要注意的是通过命令CONFIGURE CHANNEL配置通道设备后,这个通道设备之前的所有配置都将会清掉,而不管这些配置与现有配置有没有冲突。例如
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G;
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT /tmp/%U; --上一条命令的配置将会清掉,而MAXPIECESIZE将会重置回默认值。
默认情况下,RMAN只分配一个磁盘通道来应付所有的备份操作,你可以手动修改这些参数,例如指定一个新的默认备份路径。
(1)配置一个非默认格式的备份路径(RMAN回自动将%t以四个字节格式的时间戳代替,%s以备份集的编号代替,%p以备份段号码代替)
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/disk1/ora_df%t_s%s_s%p'; --配置RMAN备份写入目录/disk目录,及非默认格式的文件名
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '+dgroup1'; --为RMAN配置一个介质为ASM磁盘的备份路径
(2)为磁盘和SBT设备配置平行通道
你可以为备份设备配置多个通道来同时进行读或写,而这些用来执行命令的通道应该匹配其对应的设备。对于磁带类型备份设备,每个磁带设备只分配一个通道;对于磁盘设备,给每个物理磁盘分配一个通道,当然也可以通过分配多个通道给子系统结构磁盘来优化备份。如果错误的分配通道的数量会反过来影响RMAN的I/O性能。你可以配置并行通道、备份集的二进制压缩或通过命令CONFIGURE DEVICE TYPE sbt为磁带设备设置其他参数,而对备份设备的配置和通道的配置是相互独立的。
Example1 给磁带设备配置并行通道
这个例子配置RMAN并行地备份到两个磁带设备,每个磁带设备通道带给存储一半地备份数据。
RMAN> CONFIGURE DEVICE TYPE sbt PARALLELISM 2;
old RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
new RMAN configuration parameters are successfully stored
Example2 配置磁带设备备份类型
本例配置一个默认备份设备类型为磁带设备。
RMAN> CONFIGURE DEVICE TYPE sbt BACKUP TYPE TO BACKUPSET;
old RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO BACKUPSET PARALLELISM 2;
new RMAN configuration parameters are successfully stored
(3)手动覆盖通道地配置
如果在任务执行地时候手动分配一个通道,RMAN会把之前地配置丢弃掉。例如,假设默认备份设备类型为SBT时,执行以下命令:
RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
BACKUP TABLESPACE users;
}
在这种情况,RMAN只使用刚才分配的磁盘通道,通过CONFIGURE DEVICE TYPE, CONFIGURE DEFAULT DEVICE, 和 CONFIGURE CHANNEL 命令设置的默认值将会被覆盖。
5.配置控制文件和spfile自动备份
你可以配置控制文件和spfile(Server Parameter File)自动备份。一旦添加了备份记录,自动备份都会执行;如果数据库处于ARCHIVELOG模式,控制文件的元数据——数据库结构发生变化时,自动备份也会被执行。控制文件自动备份,使得数据库在当前的控制文件、恢复目录及spfile丢失的情况下也能进行恢复。
因为自动备份的文件名是一种容易查找的格式,所以RMAN可以轻易的找到它并重载spfile。当你通过重载spfile来启动数据库实例后,RMAN可以从自动备份文件中重载控制文件,然后RMAN就可以重载数据文件及找到归档日志重做文件。
CONFIGURE CONTROLFILE AUTOBACKUP ON; --启动自动备份
CONFIGURE CONTROLFILE AUTOBACKUP OFF; --禁用自动备份
对于COMPATIBLE初始化参数设置为12.2(或者更高)的数据库,默认是启用控制文件自动备份的。
(1)配置自动备份控制文件的文件格式
默认情况下,自动备份文件名的格式由FORMAT参数指定一个变量%F 来代替,而变量会转化为以下格式:
c-IIIIIIIIII-YYYYMMDD-QQ
IIIIIIIIII 代表DBID
YYYYMMDD 代表备份的时间戳
QQ 代表一串十六进制的数字
你可以通过以下命令改变备份文件的默认格式:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE deviceSpecifier TO ' string'; --deviceSpecifier指具体的备份设备类 型,'string' 必须包含%F变量并且不 包含其他变量
以下命令为自动备份指定非默认格式文件名,文件名中的?指的是ORACLE_HOME
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '?/oradata/cf_%F';
以下命令为自动备份的备份目录指定为一个ASM磁盘组
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '+dgroup1/%F';
需要注意的是控制文件自动备份文件的合法格式为%D, %I, %M, %Y, %F, %T, %d,%n;如果指定了其他格式,控制文件自动备份文件将可能会重载失败。
通过以下命令恢复默认配置:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE sbt CLEAR;
If you have set up a fast recovery area for the database, then you can direct control file
autobackups to the fast recovery area by clearing the control file autobackup format
for disk.
Note:
All files in the fast recovery area are maintained by Oracle Database and
associated file names are maintained in the Oracle Managed Files (OMF)
format.
(2)覆盖控制文件备份文件的格式的配置
命令SET CONTROLFILE AUTOBACKUP FORMAT只能重载当前会话的配置,这些命令的优先级如下:
1. SET CONTROLFILE AUTOBACKUP FORMAT (within a RUN block)
2. SET CONTROLFILE AUTOBACKUP FORMAT (at RMAN prompt)
3. CONFIGURE CONTROLFILE AUTOBACKUP FORMAT
例子:
SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'controlfile_%F';
BACKUP AS COPY DATABASE;
RUN
{
SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/tmp/%F.bck';
BACKUP AS BACKUPSET
DEVICE TYPE DISK
DATABASE;
}
例子的第一个ET CONTROLFILE AUTOBACKUP FORMAT命令控制自动备份控制文件文件的文件名格式,直到RMAN客户端退出。在RUN块里的SET CONTROFILE AUTOBACKUP FORMAT命令将会覆盖外面的那个命令的配置,持续到整个RUN块执行完毕。