首页 > 代码库 > 官方文档 恢复备份指南六 Configuring the RMAN Environment: Advanced Topics
官方文档 恢复备份指南六 Configuring the RMAN Environment: Advanced Topics
- Configuring Advanced Channel Options 高级通道选项
- Configuring Advanced Backup Options 高级备份选项
- Configuring Auxiliary Instance Data File Names 配置辅助实例文件名
- Configuring the Snapshot Control File Location 配置控制文件快照
- Configuring RMAN for Use with a Shared Server 共享服务器设置RMAN
- Enabling Lost Write Detection 写丢失检测
- About Channel Control Options 关于通道选项
- Configuring Specific Channel Parameters 特定通道参数
Type of Channel Control | Commands |
---|---|
Limit I/O bandwidth consumption 限制I/O使用 | Use the RATE参数可控制I/O速度 |
Limit backup sets and pieces 限制备份集和备份版 | Use the |
Vendor-specific instructions 介质管理器描述 | Use the PARMS参数用于描述介质管理器, SEND 用于向介质管理器发送命令 |
Channel parallel backup and restore operations 并行备份和还原 | Use 使用configure device type parallelism [2] 命令配置多个通道或allocate多个通道实现并行 |
Connection settings for database instances 连接设置 | Specify which instance performs an operation with the CONNECT channel 命令 |
CONFIGURE CHANNEL
n
可以指定某个通道的参数,在以下情况需要指定单个通道参数:CONFIGURE DEFAULT DEVICE TYPE TO disk; # backup goes to diskCONFIGURE DEVICE TYPE disk PARALLELISM 2; # two channels used in parallelCONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT ‘/disk1/%U‘ # 1st channel to disk1 CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT ‘/disk2/%U‘ # 2nd channel to disk2BACKUP DATABASE; # backup - first channel goes to disk1 and second to disk2
CONFIGURE DEFAULT DEVICE TYPE TO sbt; # backup goes to sbtCONFIGURE DEVICE TYPE sbt PARALLELISM 2; # two sbt channels allocated by default# Configure channel 1 to pool named first_poolCONFIGURE CHANNEL 1 DEVICE TYPE sbt PARMS ‘ENV=(OB_MEDIA_FAMILY=first_pool)‘; # configure channel 2 to pool named second_poolCONFIGURE CHANNEL 2 DEVICE TYPE sbt PARMS ‘ENV=(OB_MEDIA_FAMILY=second_pool)‘; BACKUP DATABASE; # first stream goes to ‘first_pool‘ and second to ‘second_pool‘
ORA_SBT_TAPE_1ORA_SBT_TAPE_2ORA_SBT_TAPE_3
- Configuring the Maximum Size of Backup Sets 配置备份集的大小
- Configuring the Maximum Size of Backup Pieces 配置备份片的大小
- Configuring Backup Duplexing 多重备份
- Configuring Tablespaces for Exclusion from Whole Database Backups 备份时不备份某个表空间
- Configuring Compression Options 压缩备份
- Configuring Backup Encryption 加密备份
1)Configuring the Maximum Size of Backup Sets 配置备份集的大小
configure maxsetsize to [2G] 命令用于指定备份集的大小.如,数据库的所有文件一共有2G, maxsetsize为1G,则每个备份集的大小小于1G,但不一定是两个备份集(一个数据库的备份是由多个备份集组成的).注意: maxsetsize必须大于数据库中最大的数据文件的大小.
configure maxsetsize to 对所有通道有效,可以用BACKUP命令覆盖.
CONFIGURE DEFAULT DEVICE TYPE TO sbt;CONFIGURE CHANNEL DEVICE TYPE sbt PARMS ‘ENV=(OB_MEDIA_FAMILY=first_pool)‘; CONFIGURE MAXSETSIZE TO 7500K;BACKUP TABLESPACE users;BACKUP TABLESPACE tools MAXSETSIZE 5G;
users表空间的备份最大备份集为7500K,tools表空间最大备份集为5G.
2)Configuring the Maximum Size of Backup Pieces 配置备份片的大小
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE [2G];
这个命令控制备份片的大小.一个备份集可以包含多个备份片,每个备份片不超过2G.如果有一个文件大小于3G,那么该文件将位于两个备份片中.备份片是实际的物理文件,而备份集是一个逻辑的单位,由多个备份片组成.
某些磁带管理器可以设置备份片的大小,这时MAXPIECESIZE 是无效的.
3)Configuring Backup Duplexing 多重备份
CONFIGURE XXX BACKUP COPIES FOR DEVICE TYPE DISK TO 2 命令在备份时生成两个备份副本.比如想把备份同时放在两个不同的路径
# Makes 2 disk copies of each data file and control file backup set# (autobackups excluded)CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2;# Makes 3 copies of every archived redo log backup to tapeCONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE sbt TO 3;注意:不能同时将备份副本同时备份在磁盘和磁带上,副本备份同一次备份只支持一种设备.
默认的副本个数是1.
4)Configuring Tablespaces for Exclusion from Whole Database Backups 备份时不备份某个表空间
有些时间不想备份某些表空间,如:
1.表空间可以重新创建,创建的成本比备份和恢复要低.
2.表空间包含临时的或测试的数据,不需要备份
3.表空间不经常修改,不需要按照日常的备份频率来备份,使用较低的备份频率备份
如:
CONFIGURE EXCLUDE FOR TABLESPACE cwmlite;CONFIGURE EXCLUDE FOR TABLESPACE example;
BACKUP DATABASE;
这两个表空间中的数据文件将不会被备份.
当然,也可备份这两个表空间.
BACKUP DATABASE NOEXCLUDE; #backs up database, including cwmlite and exampleBACKUP TABLESPACE cwmlite, example; # backs up only cwmlite and example
清除设置
CONFIGURE EXCLUDE FOR TABLESPACE cwmlite CLEAR;CONFIGURE EXCLUDE FOR TABLESPACE example CLEAR;
5)Configuring Compression Options 压缩备份
RMAN支持预压缩和二进制压缩(binary compression )
<1>Precompression Block Processing 预压缩
预压缩备份将使用的块做合并处理,对经常执行update delete操作的块效果好,因为这些块中可能存在较大的碎片实际的数据量很少.
OPTIMIZE FOR LOAD来控制预压缩.默认是OPTIMIZE FOR LOAD TRUE.当为true时,可以控制CPU使用和避免预压缩(这一点不明白).当为false时,需要额外的CPU来做预压缩.
<2>Basic Compression Option 基本压缩选项
命令:
CONFIGURE COMPRESSION ALGORITHM ‘BASIC‘;
<3>高级压缩选项
三种压缩等级:
Compression Level | Performance Benefits and Trade-Offs |
---|---|
HIGH | Best suited for backups over slower networks where the limiting factor is network speed. 当网络较慢时使用,CPU使用率高 |
MEDIUM | Recommended for most environments. Good combination of compression ratios and speed. 大多数环境下使用中等压缩,有较好的压缩比和速率 |
LOW | Least effect on backup throughput. 对系统影响最小 |
压缩受多种因素的影响,如数据块的使用情况、网络状态、系统资源等,实际情况中应该根据实际情况选择,最好事先测试下各种压缩比的影响。
压缩和解压都是自动完成。在恢复时,压缩的备份更慢一些。
PS:这一节文档写的不清楚。预压缩默认是不开启的,这里没有讲.
6)Configuring Backup Encryption 加密备份
可以备份时执行加密,需要企业版的支持.
1)About Backup Encryption 关于压缩备份
V$RMAN_ENCRYPTION_ALGORITHMS视图包含了可使用的压缩算法,默认是AES 128-bit key. 需要设置COMPATIBLE参数在10.2.0以上才能使用.
RMAN支持三种加密模式:
A Transparent Encryption of Backups 透明加密
默认的加密方式,使用ORACLE 的加密"钱包".加密钱包是一个受密码保护的容器用来保存验证信息和签名证书,包括SSL用到的密匙证书等.
B Password Encryption of Backups 密码加密
在备份和还原时输入密码启用加密
C Dual Mode Encryption of Backups双重加密
即可以使用透明加密也可以使用密码加密
钱包方式加密比密码加密要可靠的多,因为不需要密码.密码加密应用于需要将备份进行传输时.
启用加密时,备份和不愿时全自动加密和解密(使用钱包的情况下),密匙以加密的方式保存在备份文件中.
在启用加密备份时,必须开启高级安全选项(Advanced Security Option).Oracle Secure Backup SBT是唯一支持加密备份到磁带的接口.如果用第三方的SBT,则会报 ORA-19916
错误,使用Oracle Secure Backup SBT时不需要开启Advanced Security Option.
关于钱包:Oracle Database Advanced Security Administrator‘s Guide for details about configuring the Oracle wallet
2)Transparent Encryption of Backups 透明加密
透明加密是默认方式,在使用透明加密前,必须密致配置一个"钱包",备份和恢复时,钱包必须打开.即使钱包里的密匙变了,用旧的密匙加密的备份照样可用于还原.
3)Password Encryption of Backups 密码加密
使用密码加密时,在备份和还原时必须输入密码.将备份放在远程服务器上时很有用.
命令:SET ENCRYPTION ON IDENTIFIED BY password ONLY
4)Dual Mode Encryption of Backups 多重加密
备份可以用钱包加密,也可以用密码加密.只要有密码或钱包之一,就可以还原.
命令:SET ENCRYPTION ON IDENTIFIED BY password
5)Configuring RMAN Backup Encryption Modes 配置加密模式
可以用configure命令配置加密选项:
- Whether to use transparent encryptions for backups of all database files 是否对所有数据文件透明加密
- Whether to use transparent encryptions for backups of specific tablespaces 是否对指定表空间透明加密
- Which algorithm to use for encrypting backups 指定加密算法
或者用SET
ENCRYPTION 命令:
覆盖configre配置的加密,如SET ENCRYPTION OFF
设置密码加密,有效期是RMAN程序开启的时间内(下次打开RMAN,执行还原要重新输入密码).
以下两种情况会将归档备份加密:
在备份归档时,SET
ENCRYPTION
为ON
使用configure配置了数据库或表空间备份加密
一些命令:
CONFIGURE ENCRYPTION FOR DATABASE ON; 配置加密开启.执行这个命令后,以后所有的备份都会被加密,直到执行CONFIGURE ENCRYPTION FOR DATABASE OFF;
SET ENCRYPTION ON; 用set而非configure.用这个命令可以覆盖上面的命令,只临时有效.
7)Configuring the Backup Encryption Algorithm 设置加密算法
命令
ONFIGURE ENCRYPTION ALGORITHM TO ‘AES256‘;
3.Configuring Auxiliary Instance Data File Names 配置辅助实例数据文件名
在执行基于时间点的表空间恢复或者用RMAN做数据迁移时,需要使用辅助实例.如果想修改辅助实例的数据文件名称,使用下面的命令:
CONFIGURE AUXNAME FOR datafileSpec TO ‘filename‘;
如:CONFIGURE AUXNAME FOR DATAFILE 2 TO ‘/newdisk/datafiles/df2.df‘;
注意,这个命令会一直有效,直到执行CONFIGURE AUXNAME FOR DATAFILE 2 CLEAR;
当然,可以用 SET NEWNAME命令临时(只对本次有效)修改文件名.
4.Configuring the Snapshot Control File Location 指定控制文件快照位置
当RMAN需要同步信息到catalog时或备份当前的控制文件时,它会创建一个临时的只读的控制文件快照.默认的快照位置是$ORACLE_HOME/dbs以SN(linux上以SNAPCF开头)开头.当配置了FRA时,快照不会放在FRA中.
查看和修改快照位置:
RMAN> SHOW SNAPSHOT CONTROLFILE NAME;CONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘/oracle/dbs/snapcf_trgt.f‘; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘/oracle/oradata/trgt/snap_trgt.ctl‘;
可以将快照放在RAW设备上.
CONTROLFILE
NAME
CLEAR
命令清除快照路径
5.Configuring RMAN for Use with a Shared Server 共享服务器设置RMAN
RMAN不能通过共享服务器的适配器连接数据库,RMAN需要专用模式来连接数据库.
以下是一个tnsname.ora
inst1_shs = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=inst1_host)(port=1521)) (CONNECT_DATA=http://www.mamicode.com/(SERVICE_NAME=inst1)(SERVER=shared))>这里是共享模式,添加上专用模式:
inst1_ded = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=inst1_host)(port=1521)) (CONNECT_DATA=http://www.mamicode.com/(SERVICE_NAME=inst1)(SERVER=dedicated)) )然后用RMAN连接inst1_ded
% rmanRMAN> CONNECT TARGET SYS@inst1_ded target database Password: passwordconnected to target database: INST1 (DBID=39525561)RMAN> CONNECT CATALOG rman@catdb
6.Enabling Lost Write Detection 写丢失检测
Lost write 指I/O系统反馈已经写了块,但实际上没有写.在读该旧时,会读到旧数据.
设置DB_LOST_WRITE_PROTECT 参数为typical或full后,数据库会将内存块的读写情况写到内存中.默认不开启.设为typical,会记录内存可读写的(read/write)表空间的内存块读写情况,但不会记录只读表空间.设为full后,也会记录只读表空间.typical下,性能消耗约为5%-10%,full会更多.
当执行数据库还原时,能够反现写丢失的块.
这一块就不做详细说明了.请参考:
http://docs.oracle.com/cd/E11882_01/backup.112/e10642/rcmconfa.htm#BRADV89476