• 使用Oracle Enterprise Manager 配置备份设置
• 启用控制文件自动备份
• 配置备份目标
• 为磁带目标分配通道
• 配置备份优化
• 创建压缩备份
• 创建加密备份
• RMAN 有预设的默认配置设置。
• 使用CONFIGURE命令可以:
– 配置自动通道
– 指定备份保留策略
– 指定要创建的备份副本数
– 将默认备份类型设置为BACKUPSET或COPY
– 限制备份片段的大小
– 在备份中排除表空间
– 启用和禁用备份优化
– 配置控制文件的自动备份
– 定义归档日志删除策略
– 指定设备的并行度
– 设置用于备份的加密参数和压缩参数
配置RMAN 的永久性设置
为了简化使用RMAN 进行备份和恢复的过程,可以使用RMAN 为每个目标数据库设置一些永久性配置设置。这些设置可控制RMAN 行为的多个方面。可以保存永久性配置信息,如通道参数、并行度和RMAN 资料档案库中的默认设备类型。这些配置设置始终存储在控制文件和恢复目录数据库中(如果存在)。
这些设置都提供了默认值,可以立即使用RMAN。但是,当制定更高级的备份和恢复策略时,可能要更改这些设置才能实施该策略。使用CONFIGURE命令可为RMAN 备份、还原、复制和维护作业配置永久性设置。这些设置在所有RMAN 会话中均有效,直到清除或更改了配置为止。
注:使用SET命令在RMAN 作业(或会话)中更改的配置的有效时间仅为作业(或会话)的持续时间。
EM 注:通过Oracle Enterprise Manager 界面使用RMAN 时,情况也是如此。备份设置为所发生的所有备份提供默认设置。在创建某个备份时,可以为该特定备份覆盖其中的一些设置。
要检查数据库的永久性RMAN 设置:
• 如果仅连接到了目标,请在RMAN 提示符下输入SHOW ALL。
或:
• 如果已登录到目标数据库实例,请查询V$RMAN_CONFIGURATION视图。
查看永久性设置
连接至目标并输入SHOW ALL命令时,或登录到SQL*Plus 并查询V$RMAN_CONFIGURATION视图时,可查看RMAN 永久性设置。
示例:
使用show all查看
RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name TEST0924 are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
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 '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # 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 ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_test0924.f'; # default
使用视图查看:
sys@TEST0924> select * from v$rman_configuration;
CONF# NAME VALUE
---------- ------------------------------ ------------------------------
1 CONTROLFILE AUTOBACKUP ON
2 RETENTION POLICY TO REDUNDANCY 1
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
最佳做法提示:Oracle 建议您启用控制文件自动备份。
控制文件自动备份
可以使用Oracle Enterprise Manager 指定实例的备份设置。在“Database(数据库)”主页中,导航到“Availability > Backup Settings(可用性> 备份设置)”。
要轻松地从所有控制文件副本丢失中恢复过来,应将RMAN 配置为自动备份控制文件。
控制文件的自动备份与备份命令明确请求的对当前控制文件的备份无关。
如果在NOCATALOG模式下运行RMAN,则强烈建议激活控制文件自动备份功能。
否则,如果丢失了控制文件,就可能无法恢复数据库。
要配置控制文件自动备份,使用Oracle Enterprise Manager 或使用以下RMAN 命令修改数据库的备份策略:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
默认情况下,控制文件自动备份处于禁用状态。如果启用了控制文件自动备份,则RMAN 在出现以下情况时会自动备份控制文件和当前服务器参数文件(如果该文件用来启动数据库):
• 运行脚本结束时
• 在RMAN 资料档案库中记录了成功的备份时
• 当数据库发生结构性更改时,Oracle 内核本身会备份(例如,在发生影响控制文件内容的DDL 操作后)
对于所有设备类型,控制文件自动备份文件名都有一个默认格式%F,因此RMAN 不需要资料档案库就可以推断出文件位置,并还原该文件。该变量格式会转换为c-IIIIIIIIII-YYYYMMDD-QQ,其中:
• IIIIIIIIII代表DBID
• YYYYMMDD是生成备份那天的时间戳
• QQ是十六进制序列,从00开始,最大值为FF
可以使用CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE type TO 'string'命令更改默认格式。
字符串的值必须包含替代变量%F,并且不能包含其它替代变量。
例如:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/oradata/cf_ORCL_auto_%F';
除非另外指明,否则控制文件自动备份存储在
快速恢复区中。
使用控制文件自动备份,即使无法访问当前控制文件、恢复目录和服务器参数文件,RMAN 仍可恢复数据库。因为用于存储自动备份的路径遵从已知格式,所以RMAN 可从自动备份中搜索并还原服务器参数文件或控制文件。
• 使用流入及流出设备的多个数据流:
RMAN> CONFIGURE DEVICE TYPE sbt
PARALLELISM 3;
• 使用SHOW命令列出当前设置:
RMAN> SHOW ALL;
RMAN> SHOW EXCLUDE;
RMAN> SHOW CONTROLFILE AUTOBACKUP FORMAT;
• 使用CONFIGURE命令的CLEAR选项可将任何永久性设置重置为其默认值:
RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;
RMAN> CONFIGURE MAXSETSIZE CLEAR;
RMAN> CONFIGURE DEFAULT DEVICE TYPE CLEAR;
管理永久性设置
并行度是可用于对设备进行读取和写入的数据流的数量。当设备由RMAN 使用时,这可以有效地分配通道的数量。例如,如果某个介质管理器有两个磁带机可用,则并行度为2 时使用该介质管理器BACKUP命令可以同时使用两个磁带驱动器。要将某个备份分布在多个磁盘中时,磁盘设备类型的并行度也很有用。
可以使用如下所示的
PARALLELISM子句指定设备上使用的并行度:
CONFIGURE DEVICE TYPE <device> PARALLELISM <n>
其中<n>是并行度值。
使用RMAN 的
SHOW命令可查看RMAN 配置设置。如果连接到目标数据库后执行SHOW ALL,则仅显示特定于节点的配置和数据库配置。
通过执行带CLEAR选项的CONFIGURE命令,可以将同一CONFIGURE命令设置的值恢复为其默认值。
要将磁带存储用于数据库备份,RMAN 需要使用Oracle Secure Backup 或介质管理器。
介质管理器是一个用于加载、标注和卸载顺序介质(如磁带机)以备份、还原和恢复数据的实用程序。Oracle DB Server 调用介质管理库(MML) 软件例程在由介质管理器控制的介质之间备份和还原数据文件。
注意,Oracle DB Server 在备份到磁盘时并不需要连接到MML 软件。
Oracle Backup Solutions Program (BSP) 提供了一系列符合Oracle MML 规范的介质管理产品。通过与MML 接口兼容的软件,Oracle DB 会话可将数据备份到介质管理器,并可请求介质管理器还原备份。先确认该介质供应商是否为Oracle BSP 的成员。
必须先安装介质管理器软件并确保RMAN 可与该软件进行通信,然后才能使用RMAN 与介质管理器。
根据要安装的产品执行以下基本步骤:
1. 在目标主机或生产网络中安装并配置介质管理软件。此阶段不需要集成RMAN。
2. 确保在目标数据库主机上可对操作系统文件执行非RMAN 备份。此步骤有助于以后的问题排除。
3. 获取并安装第三方介质管理模块,以便与Oracle DB 集成。该模块必须包含访问介质管理器时由Oracle DB Server 加载的库。
使用介质管理器备份和还原操作
以下Recovery Manager 脚本执行的操作是将数据文件备份到由介质管理器控制的磁带机:
run {
# Allocating a channel of type 'sbt' for serial device
ALLOCATE CHANNEL ch1 DEVICE TYPE sbt;
BACKUP DATAFILE 3;
}
Recovery Manager 执行该命令时,会将备份请求发送到执行备份的Oracle DB 会话。
Oracle DB 会话将输出通道标识为介质管理设备,然后请求介质管理器加载磁带并写入输出。
介质管理器会给磁带加上标签并跟踪每一磁带上文件的文件名。介质管理器还会处理还原操作。
还原文件时,会执行以下步骤:
1. Oracle DB Server 请求还原某个特定文件。
2. 介质管理器确定包含文件的磁带并读取磁带。
3. 介质管理器将信息传送回Oracle DB 会话。
4. Oracle DB Server 将文件写入到磁盘。
备份可写入到:
• 磁盘目录
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;
• 磁带(使用Oracle Secure Backup)
• 介质管理库
– 磁带
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO TAPE;
– 磁盘或磁带(使用代理副本)
• 快速恢复区:专门为备份和恢复以及闪回数据库而留出的磁盘区
– 定义位置和大小
– 文件会根据需要自动保留和删除
指定备份目标
备份可以写入到指定的磁盘目录、介质管理库(MML) 或快速恢复区。指定磁盘目录或快速恢复区意味着备份会移到硬盘介质。通常,为了保持磁盘空间可用,会定期通过介质管理接口将备份脱机移到磁带中。只要磁盘目录已存在,任何磁盘目录都可以指定为备份目标。
介质管理库可用于将文件复制到磁带机,或执行代理副本。代理副本是要求使用MML 在磁盘或磁带机上创建文件副本的位置。MML 必须能提供代理副本服务才能创建副本。
如果设置了快速恢复区,则可简化许多备份和恢复任务。Oracle DB 会自动指定文件,在空间紧缺时会删除过时的文件。
要指定将备份写入到磁盘,使用 RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK; 命令。
随后,当创建备份时,如果使用FORMAT关键字(指定备份的磁盘目录位置),则会将备份写入到该位置。如果配置了快速恢复区,则会备份到该位置;否则,备份会写入到平台特定的默认位置。
要指定要使用某个磁带机。
使用
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO TAPE;命令。
• 使用CONFIGURE命令配置自动通道:
• 在RUN块内使用ALLOCATE CHANNEL命令手动分配通道:
RMAN> CONFIGURE DEVICE TYPE sbt;
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;
RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt ...
RMAN> BACKUP DATABASE;
RMAN> RUN
{
ALLOCATE CHANNEL ch1 DEVICE TYPE DISK;
BACKUP DATABASE PLUS ARCHIVELOG;
}
配置和分配通道
从以下选项中进行选择来配置通道和执行备份:
• 使用CONFIGURE命令配置自动通道,然后在RMAN 提示符下或在RUN块中发出BACKUP命令。
• 在RUN块中使用ALLOCATE CHANNEL命令手动分配通道,然后发出BACKUP命令。
要创建双向备份集,使用:
• CONFIGURE ... BACKUP COPIES
• BACKUP...COPIES
创建双向备份集
RMAN 最多可同时为备份集创建
四个副本,这些副本彼此完全一样。备份集的副本是备份集中所有备份片段的副本,每个副本都有一个唯一的副本编号(例如,0tcm8u2s_1_1和0tcm8u2s_1_2)。
多数情况下,创建双向备份集的最简便方法是使用BACKUP...COPIES或CONFIGURE ... BACKUP COPIES创建双向备份集。
对于DISK通道,在FORMAT选项中指定多个值,可将多个副本放到不同的物理磁盘中。
对于sbt通道,如果使用支持SBT API 版本2 的介质管理器,则介质管理器会自动将每个副本放在一个单独的介质上(例如,单独的磁带)。
注:系统备份到磁带(SBT) API 是为介质管理库(MML) 开发人员定义的接口,以便他们可以提供与RMAN 进行通信的MML。
注意,不能在快速恢复区中创建双向备份集,而且
双向备份只适用于备份集,不适用于映像副本。如果在创建映像副本备份时指定了BACKUP...COPIES选项,则会收到错误。对于映像副本备份来说,会忽略CONFIGURE ... BACKUP COPIES设置。
双向备份集通常用于磁带备份。
- 使用CONFIGURE BACKUP COPIES
创建双向备份集
RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE sbt TO 2;
RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE sbt TO 2;
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;--创建备份到两个不同磁带的两个副本。
RMAN> BACKUP DEVICE TYPE DISK AS COPY DATABASE; 不受COPIES配置设置的影响。只创建一个备份到磁盘的副本。
使用CONFIGURE BACKUP COPIES创建双向备份集
使用CONFIGURE ... BACKUP COPIES命令可指定要在指定设备类型上创建的完全一样的备份集的数量。使用BACKUP BACKUPSET命令进行备份时,此设置适用于除控制文件自动备份之外的所有备份(因为控制文件的自动备份始终生成一个副本)和备份集。
注:必须已配置了自动通道。
要使用CONFIGURE BACKUP COPIES创建双向备份集,执行以下步骤:
1. 在所需设备类型上,配置数据文件和归档重做日志文件的副本数。
2. 执行BACKUP命令。
3. 发出LIST BACKUP命令来验证备份。
注:最后一个BACKUP命令不受COPIES配置设置的影响。该命令将创建备份到磁盘的单个副本。
• 跳过已备份的文件
• 在以下情况下使用:
– 启用了备份优化:RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
– 执行了BACKUP DATABASE、带ALL或LIKE选项的BACKUP ARCHIVELOG或BACKUP BACKUPSET ALL命令
– 只分配了一种类型的通道
• 使用FORCE选项可以被覆盖:RMAN> BACKUP DEVICE TYPE sbt BACKUPSET ALL FORCE;
• 始终用于RECOVERY AREA、DB_RECOVERY_FILE_DEST和RECOVERY FILES备份选项
备份优化
如果启用了备份优化,当完全一样的文件已备份到指定的设备类型时,BACKUP命令就会跳过这些文件。
如果RMAN 确定某个文件是完全一样的且已备份,则该文件就是可以跳过的候选文件。
但是,RMAN 会通过执行进一步的检查来确定是否跳过该文件,因为RMAN 用于确定指定设备类型上是否存在充足备份的算法会考虑保留策略和双重备份功能这两个因素。
在Oracle Enterprise Manager 中的“Backup Settings(备份设置)”页中,或者通过发出CONFIGURE BACKUP OPTIMIZATION ON命令均可启用备份优化。默认情况下,备份优化处于禁用状态。
对于BACKUP RECOVERY AREA | DB_RECOVERY_FILE_DEST和BACKUP RECOVERY FILES命令系统会自动启用备份优化。
要覆盖备份优化并备份所有文件(无论是否已更改),在BACKUP命令中指定FORCE选项,如下例所示:
BACKUP DEVICE TYPE sbt BACKUPSET ALL FORCE;
请注意,FORCE选项并不适用于恢复区中的文件。
使用Oracle Enterprise Manager 或通过发出下列命令可永久地
禁用备份优化:
CONFIGURE BACKUP OPTIMIZATION OFF;
在某些类型的备份操作过程中,可跳过以下块:
• 未分配的块:这些块高于数据文件的高水位标记(HWM)。
• 未使用的块:这些块已分配但已不再属于段。
通过压缩未使用的块节省备份空间
执行某些类型的备份时,RMAN 可跳过一些块。可跳过未分配的块。这些块尚未分配;它们高于HWM。
此外,当符合以下条件时,还可以跳过某些已不再属于段的已分配块(不再使用):
• 未定义保证还原点。
• 数据文件仅包含本地管理的表空间的数据。
• 数据文件是作为完全备份或0 级增量备份的一部分备份到备份集的。
• 备份将保存到磁盘中,或者Oracle Secure Backup 是介质管理器。
RMAN 可对生成的任何备份集执行二进制压缩。
• 除了压缩未使用的块以外,还可以执行二进制压缩。
• 可用的压缩算法为:HIGH、MEDIUM、LOW和BASIC。
• DBA 无需执行额外步骤便可还原压缩的备份。
CONFIGURE COMPRESSION ALGORITHM 'HIGH/MEDIUM/LOW/BASIC'
run {
SET COMPRESSION ALGORITHM 'HIGH/MEDIUM/LOW/BASIC';
..
}
压缩备份
不对事务处理恢复不需要的还原数据(例如,针对已提交的事务处理)进行备份。优点是从总体上减少了备份时间和存储空间,因为它不备份应用于已提交的事务处理的还原数据。
自动启用此优化。
压缩未使用的块可减少写入到备份中的块数(以及备份时间),而二进制压缩可使用算法压缩写入的数据。可用的压缩算法为HIGH、MEDIUM、LOW和BASIC。如果为特定的备份设备指定它,可在BACKUP TYPE TO子句后使用COMPRESSED关键字。
无需执行任何其它步骤便可还原压缩的备份。但应注意的是,压缩和解压缩操作需要占用CPU 资源。因此,创建和还原压缩的备份可能需要更长的时间并需要占用更多的系统资源。
选择算法时,应考虑磁盘空间以及动态系统资源(如CPU 和内存等)。
如上图所示,备份集的二进制压缩由算法设置支持。除了BASIC外,所有模式都需要Oracle 高级压缩数据库选件。
由于各种压缩级别的性能取决于数据库中数据的性质、网络配置、系统资源以及计算机系统类型和相应功能,Oracle Corporation 无法将可应用的性能统计信息全部提供说明。要找到最适合级别,需要考虑系统在带宽到CPU 的平衡性,以及CPU 的实际速度。强烈建议在环境中针对数据使用不同的压缩级别运行测试。要确保备份集压缩级别可以满足性能需求和任一适用服务级别要求的唯一方法是基于自己的环境、网络通信量(工作量)和数据集来选择压缩级别。
可以使用以下级别或压缩比率:
• LOW:此级别速度最快。与MEDIUM相比,它提供较少的压缩,但CPU 使用率最低。(与LZO压缩对应。)
• MEDIUM:此级别很好兼顾了CPU 使用率和压缩比率。(与ZLIB压缩对应。)
• HIGH:此级别提供最佳压缩比率,但CPU 消耗最大。(与GZIP 压缩对应。)
• BASIC:与BZIP2(10g类型压缩)对应。
• 透明加密:使用wallet(默认)
• 口令加密:使用口令(无wallet)
• 双模式加密:
– 同时使用透明加密和口令加密模式
– 既可以使用透明模式也可以使用口令模式进行还原
加密备份
可使用以下三种方法之一对备份进行加密:
• 透明加密:此方法使用wallet,是默认模式。
• 口令加密:此加密方法依赖于口令,不需要配置wallet。若要还原,必须知道用于备份的口令。
• 双模式加密:可同时使用透明加密和口令加密。若要还原,可使用透明模式或口令模式。
如果通常将备份还原到本地站点,但偶尔也会将备份传送到其它站点,则这种类型的加密十分有用。
1、对 NLS_LANG 和 NLS_DATE_FORMAT 变量进行设置,使RMAN 在所有时间戳值中包括时间信息。将以下两行添加到 ~oracle/.bashrc 文件。然后退出所有终端窗口。这可以确保创建新的终端窗口时这些设置有效。
export NLS_LANG=american_america.al32utf8
export NLS_DATE_FORMAT="yyyy-mm-dd:hh24:mi:ss"
如下:
[oracle@rtest ~]$ rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Sat Oct 5 15:45:09 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: TEST0924 (DBID=2720875862)
RMAN> list backup;
using target database control file instead of recovery catalog
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
6 Full 1.31G DISK 00:29:50
05-OCT-13
BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20131005T114007
Piece Name: /u01/app/oracle/fast_recovery_area/TEST0924/backupset/2013_10_05/o1_mf_nnndf_TAG20131005T114007_950dps9b_.bkp
List of Datafiles in backup set 6
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 2375806 05-OCT-13 /u01/app/oracle/oradata/test0924/system01.dbf
2 Full 2375806 05-OCT-13 /u01/app/oracle/oradata/test0924/sysaux01.dbf
改变文件后使之立即生效,再查看时间的格式:
[oracle@rtest ~]$
vi .bashrc
# .bashrc
export NLS_LANG=american_america.al32utf8
export NLS_DATE_FORMAT="yyyy-mm-dd:hh24:mi:ss"
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
[oracle@rtest ~]$ source .bashrc 使立即生效。
RMAN> list backup;
using target database control file instead of recovery catalog
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
6 Full 1.31G DISK 00:29:50
2013-10-05:12:09:57
BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20131005T114007
Piece Name: /u01/app/oracle/fast_recovery_area/TEST0924/backupset/2013_10_05/o1_mf_nnndf_TAG20131005T114007_950dps9b_.bkp
List of Datafiles in backup set 6
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ------------------- ----
1 Full 2375806 2013-10-05:11:40:08 /u01/app/oracle/oradata/test0924/system01.dbf
2 Full 2375806 2013-10-05:11:40:08 /u01/app/oracle/oradata/test0924/sysaux01.dbf