官方文档 恢复备份指南六 Configuring the RMAN Environment: Advanced Topics

RMAN高级设置.

本章内容:
  • 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  写丢失检测
1.Configuring Advanced Channel Options  高级通道选项
本节内容:
  • About Channel Control Options   关于通道选项
  • Configuring Specific Channel Parameters 特定通道参数
1)About Channel Control Options   关于通道选项
通道控制选项(在configure和allocate中都可以使用):
Type of Channel Control Commands

Limit I/O bandwidth consumption

限制I/O使用

Use the RATE channel parameter to act as a throttling mechanism for backups.

RATE参数可控制I/O速度

Limit backup sets and pieces

限制备份集和备份版

Use the MAXPIECESIZE channel parameter to set limits on the size of backup pieces. You can also use the MAXSETSIZE parameter on the BACKUP and CONFIGURE commands to set a limit for the size of backup sets.   MAXPIECESIZE 控制备份片大小, MAXSETSIZE 控制备份集大小

Vendor-specific instructions

介质管理器描述

Use the PARMS channel parameter to specify vendor-specific information for a media manager. You can also use the SEND command to send vendor-specific commands to a media manager.

PARMS参数用于描述介质管理器, SEND 用于向介质管理器发送命令

Channel parallel backup and restore operations

并行备份和还原

Use CONFIGURE DEVICE TYPE ... PARALLELISM for persistent channel parallelism or multiple ALLOCATE CHANNEL commands for job-level parallelism.

使用configure device type  parallelism [2] 命令配置多个通道或allocate多个通道实现并行

Connection settings for database instances

连接设置

Specify which instance performs an operation with the CONNECT channel parameter.

CONNECT channel 命令

2)Configuring Specific Channel Parameters 特定通道参数
CONFIGURE CHANNEL n 可以指定某个通道的参数,在以下情况需要指定单个通道参数:
    <1> RAC下,需要指定连接设置来访问备份集,请参考Oracle Real Application Clusters Administration and Deployment Guide 
    <2> 使用SBT时,设置parms参数
示例,配置两个通道分别到不同的磁盘:
CONFIGURE DEFAULT DEVICE TYPE TO disk;        # backup goes to disk
CONFIGURE DEVICE TYPE disk PARALLELISM 2; # two channels used in parallel
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/disk1/%U' # 1st channel to disk1
CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/disk2/%U' # 2nd channel to disk2
BACKUP DATABASE; # backup - first channel goes to disk1 and second to disk2
配置两个磁带库:
CONFIGURE DEFAULT DEVICE TYPE TO sbt;    # backup goes to sbt
CONFIGURE DEVICE TYPE sbt PARALLELISM 2; # two sbt channels allocated by default
# Configure channel 1 to pool named first_pool
CONFIGURE CHANNEL 1 DEVICE TYPE sbt
PARMS 'ENV=(OB_MEDIA_FAMILY=first_pool)';
# configure channel 2 to pool named second_pool
CONFIGURE 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'

Relationship Between CONFIGURE CHANNEL and Parallelism Setting  cofigure channel和并行设置之间的关系
Parallelism 决定了通道的个数.如果有20个磁带驱动器, Parallelism 设置为10,即使coufigure channel 20个通道,也只使用10个通道,后面20个忽略.配置超过Parallelism个数的通道,多余的通道是无效的.
在磁带上,并行 通道的命名:
ORA_SBT_TAPE_1
ORA_SBT_TAPE_2
ORA_SBT_TAPE_3
如果Parallelism为5,只配置了三个通道,另外两个用默认的配置.


2.Configuring Advanced Backup Options 高级备份选项

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 tape
CONFIGURE 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 example
BACKUP 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=(SERVICE_NAME=inst1)(SERVER=shared))
)

这里是共享模式,添加上专用模式:

inst1_ded =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=inst1_host)(port=1521))
(CONNECT_DATA=(SERVICE_NAME=inst1)(SERVER=dedicated))
)

然后用RMAN连接inst1_ded

% rman
RMAN> CONNECT TARGET SYS@inst1_ded target database Password: password
connected 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

上一篇:java 正则匹配int型


下一篇:java并发编程概念