4.2 RMAN 的配置
4.2.1 建立Recovery Catalog恢复目录
(1) 在目录数据库中创建恢复目录所用表空间:
SQL> create tablespace rman_ts datafile '/xxx/rman_ts.dbf' size 20M;
(2) 在目录数据库中创建RMAN 用户并授权:
SQL> create user rman identified by rman default tablespace rman_ts temporary tablespace temp quota unlimited on rman_ts;
SQL> grant connect, resource, recovery_catalog_ownerto rman;
(3) 在目录数据库中创建恢复目录
$ rman catalog rman/rman
RMAN> create catalog tablespace rman_ts;
(4) 登记目标数据库:
一个恢复目录可以注册多个目标数据库,注册目标数据库的命令为:
$ RMAN catalog rman/rman target user/pwd @rcdb; RMAN> register database;
4.2.2 查看RMAN的默认设置SHOW命令
必须连接目标数据库
RMAN> show all
RMAN> show channel; // 通道分配 RMAN> show device type; // IO 设备类型 RMAN> show retention policy; // 保存策略
RMAN> show datafile backup copies; // 多个备份的拷贝数目 RMAN> show maxsetsize; // 备份集大小的最大值 RMAN> show exclude; // 不必备份的表空间 RMAN> show backup optimization; // 备份的优化
4.2.3 配置RMAN的默认设置
1. 配置备份集文件的格式 (format)
RMAN> configure channel device type disk format'/u05/oracle/rmanback/%U';
备份文件可以自定义各种各样的格式,如下
%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)
2. 配置默认 IO设备类型 ( device type )
IO 设备类型可以是磁盘或者磁带,在默认的情况下是磁盘,可以通过如下的命令 进行重新配置。
RMAN> configure default device t ype to disk; RMAN> configure default device t ype to sbt;
注意,如果换了一种 IO 设备,相应的配置也需要做修改,如
RMAN> configure device type sbt parallelism 2;
3. 配置自动分配的通道 ( Chanel )
RMAN> configure channel device type disk format
'/U01/ORACLE/BACKUP/%U
在运行块中,手工指定通道分配,这样的话,将取代默认的通道分配。
RMAN> Run {
allocate channel cq type disk format='/u01/backup/%u.bak';
…
}
通道的一些特性:
读的速率限制 Allocate channel ……rate = integer 最大备份片大小限制 Allocate channel …… maxpiecesize = integer 最大并发打开文件数(默认 16) Allocate channel …… maxopenfile = integer
4. 配置默认的保存策略 ( Retention Policy)
保存策略是管理备份与副本有效期或者是否有效的一种方法。恢复数据库的时候
Oracle 不 考 虑 失效 的 备 份。我 们可 以 定 义 两 种 保存 策 略: 恢复 窗口 备份 保存 策 略
(recovery window backup retention policy )和冗余备份保存策略(redundancy backup retention policy )
备份策略保持 分为两个保持策略: 一个是时间策略,决定至少有一个备份能恢复到指定的日期 一个冗余策略,规定至少有几个冗余的备份。 恢复窗口备份保存策略
这种保存策略类型的使用基于数据库可能恢复到的最早的日期。 例如,假设今天 是星期一,此前存在 3 个备份。第一个备份在昨天生成的,第二个备份是上星期四生 成的,而最后一个备份是 10 天前备份的。假如恢复窗口是 7 天,那么昨天和上星期 四的备份是有效备份,而 10 天前的备份会成为废弃备份。下面的命令将恢复窗口配置为 7 天:
RMAN> configure retention policy to recovery window of 7 days;
冗余备份保存策略
使用这种保存策略,RMAN 会从最新备份开是保留 N 个数据备份,其余的废弃。 例如,如果有四个备份,而冗余数是 3,那么最早的那个备份将被废弃。下面的命令将 备份策略设置为 3:
RMAN> configure retention policy to redundancy3;
设置 NONE可以把使备份保持策略失效,Clear 将恢复默认的保持策略
RMAN> configure retention policy to none;
例:
保 证 至 少有一 个 备份 能 恢复 到 Sysdate-5 的时 间点 上, 之 前 的备份将 标 记 为
Obsolete
RMAN> configure retention policy to recovery window of 5 days;
至少需要有三个冗余的备份存在,如果多余三个备份以上的备份将标记为冗余
RMAN> configure retention policy to redundancy 5;
5. 配置多个备份的拷贝数目( backup copies )
如果觉得单个备份集不放心,可以设置多个备份集的拷贝,如: RMAN> configure datafile backup copies for device type disk to 2; RMAN> configure archivelogbackup copies for device type disk to 2;
如果指定了多个拷贝,可以在通道配置或者备份配置中指定多个拷贝地点:
RMAN> configure channel device type disk format
'/u01/backup/%U', '/u02/backup/%U';
RMAN> backup datafile n format '/u01/backup/%U', '/u02/backup/%U';
6. 设置并行备份( ARALLELISM )
RMAN支持并行备份与恢复,也可以在配置中指定默认的并行程度。如:
RMAN> configure device type disk parallelism 4;
指定在以后的备份与恢复中,将采用并行度为 4,同时开启 4个通道进行备份与恢 复,当然也可以在 RUN的运行块中手工分配多个通道来决定备份与恢复的并行程度。 并行的数目决定了开启通道的个数。如果指定了通道配置,将采用指定的通道,如果没 有指定通道,将采用默认通道配置。
还可以在 BACKUP命令中使用指定 FILESPERSET 或者指定(datafile 1,4,5 channel c1 tag=DF1)(datafile 2,3,6 channel c2 tag=DF2)
7. 设置控制文件自动备份 (autobackup on)
通过如下的命令,可以设置控制文件的自动备份
RMAN> configure controlfile autobackup on;
对于没有恢复目录的备份策略来说,这个特性是特别有效的,控制文件的自动备份
发生在任何 backup 或者 copy 命令之后,或者任何数据库的结构改变之后。
可以用如下的配置指定控制文件的备份路径与格式
RMAN> configure controlfile autobackup format for type disk to '%f';
在备份期间,将产生一个控制文件的快照,用于控制文件的读一致性,如下配置:
RMAN> configure snapshot controlfile name to
'/u01/app/oracle/product/9.0.2/dbs/snapcf_U02.f';
8. 设置备份优化选项 ( optimization )
可以在配置中设置备份的优化,如
RMAN> configure backup optimization on;
如果优化设置打开,将对备份的数据文件、归档日志或备份集运行一个优化算法。
4.2.4 RMAN 会话的设置
set 命令与 configure 命令很相似,但是 set 命令设置不是永久的。set 命令定义只应
用于当前 RMAN会话的设置。
可以用于 RUN代码之外的命令有:
set echo on | off // 显示或关闭 RMAN显示
set DBID dbidn // 指定一个数据库的数据库标识符。
下面的 set 命令只能在 RUN代码中使用:
set newname:
用于 TSPITR 或者数据库复制操作,指定新的数据库文件名,将数据库移动
到新的系统中并且文件名不同的时候可以用此命令。
set maxcorrupt for datafile:
用于定义 RMAN操作失败之前允许的数据块讹误的数量
set archivelog destination:
可以修改存储归档的重做日志 archive_log_dest_1 的目的地。
set 命令和 until 子句:
可以定义数据库时间点恢复操作所使用的具体的时间点、SCN 或者日志序列
号,例:
set until time "to_date('2005/08/01 13:00:00','yyyy/mm/dd hh24:mi:ss')";
set backup copies:
使用该命令可以定义为备份集的每个备份片创建的镜像副本数。
例:
RMAN> RUN{
set maxcorrupt for datafile 3 to 10;
set backup copies = 2;
backup database;
}