Oracle11gR2——RMAN备份

1、RMAN可备份的文件类型与备份文件类型

RMAN可以备份下列文件:

数据文件
控制文件
归档重做日志文件
SPFILE
备份集片

RMAN不能备份下列文件:

临时文件
联机重做日志文件
口令文件
静态PFILE
Oralce Net配置文件

RMAN能够生成三类备份:

备份集片
压缩备份集
映象副本

2、使用RMAN备份数据库

2.1 RMAN执行脱机备份


RMAN执行脱机全备份的脚本offline_full.rman:

run{
shutdown immediate;
startup mount;
allocate channel d1 type disk;
backup as backupset database
format '/orabackup/offline_full.bus';
alter database open;
}

通过操作系统命令执行脚本:

rman target sys/password@sid @offline_full.rman

2.2 RMAN执行联机备份

RMAN执行数据库文件和归档日志文件全备份:

run{
allocate channel d1 type disk;
backup as backupset fileperset 4 database;
backup as backupset archivelog all delete all input;
}

该脚本定义每个备份集包含最多4个文件。

2.3 增量备份

1级增量备份依赖于0级增量备份,首先进行0级增量备份,然后执行增量级别1的备份,以备份上一个0级备份或1级备份以来改变的块。

0级增量备份:

backup as backupset incremental level 0 database;

执行了0级备份后,就可以进行增量备份:

backup as backupset incremental level 1 database;

该语句备份上一次1级备份以来更改的块,如果上一次是0级备份,就备份0级备份以来更改的块。

积累增量备份将备份上一次0级备份以来所有更改的块,而不考虑是否存在1级备份:

backup as backupset incremental level 1 cumulative database;

增量备份虽然只备份上一次以来更改的块,但是由于要确定哪些块已更改,所以速度比预期的要慢。可以通过打开block change tracking   (块变更跟踪)功能来改善增量备份的速度,这将启动一个后台进程CTWR:

alter database enable block change tracking using file '/u01/app/oracle/oradata/orcl/change_tracking.dbf';

通过查询V$BACKUP_DATAFILE视图来监视块变更跟踪的有效性,这个视图在每次将数据文件备份到备份集时填充:DATAFILE_BLOCKS列是数据文件的大小,BLOCKS_READ是上一次备份读取的块数。

2.4 映像副本

映象副本是与数据文件、控制文件或归档日志文件完全相同的副本,但是备份过程读取的是Oracle块而不是操作系统块。

使用映象副本的最大好处是:不需要还原,可以直接使用。

下面的命令备份整个数据库:

RMAN> backup as copy database;

下面的命令备份归档日志文件:

RMAN> backup as copy archivelog all delete all input;

all delete all input子句要求归档文件备份完成就立即删除。

2.5 保护备份

下面的命令将备份转移到磁带:

backup device type sbt_tape backupset all delete all input;

这个命令将定位磁盘上所有已知备份集的备份片,将它们复制到磁带库上的另一个备份集中,同时将它们从磁盘删除。

backup backupset all;

这个命令将备份所有备份集。

注意:all delete all input 子句只能用于归档日志和备份集的备份中。

2.6 加密备份

下面的命令可以加密备份:

set encryption algorithm 'aes256' identified by password;
backup as backupset database format '/oraback/orcl_enc.bak';

在使用备份还原前,必须设置口令:

set decryption identified by password;
restore ...

3、配置RMAN环境

下面的命令查看RMAN环境配置:

RMAN> show all;

using target database control file instead of recovery catalog #使用控制文件保存备份元数据而不是目录数据库
RMAN configuration parameters for database with db_unique_name ORARAC are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default #保留策略为保存一份冗余
CONFIGURE BACKUP OPTIMIZATION OFF; # default #备份优化关闭
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default #默认备份设备为磁盘
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default #自动备份控制文件关闭
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default #自动备份控制文件名
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default #备份并行度为1,备份类型为备份集
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 #加密算法为AES128
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/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_orarac1.f'; # default

关于RETENTION POLICY:

可以有恢复窗口和冗余级别两种保留策略:

冗余级别定义应保存的文件副本数;恢复窗口定义要恢复到定义的时间所需的备份都应保留。

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

该命令要求备份3个冗余副本。

RMAN> configure retention policy to recovery window of 90 days;

该命令要求至少有一个所有数据文件的备份保存90天之久,另外还要有自那天之后生成的所有归档日志。

禁用保留策略:

RMAN> CONFIGURE RETENTION POLICY TO NONE;

关于BACKUP OPTIMIZATION:

备份优化只适用于归档日志和只读或脱机表空间的数据文件。如果启用优化,在已有足够的相同文件副本满足保留策要求的情况下,RMAN将不创建额外的文件副本。由于联机读-写数据文件总是在变化,RMAN将不会认为它有相同副本。

关于归档日志文件删除策略:

Archived redo logs can be deleted automatically by the database or by user-initiated RMAN commands. Only logs in the fast recovery area can be deleted automatically by
the database. For archived redo log files in the fast recovery area, the database retains them as long as possible and automatically deletes eligible logs when additional disk space is required.
归档日志可以由数据库自动删除,仅当日志在FRA中才能够被数据库自动删除。

CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 2 TIMES TO SBT;
被备份2次到磁盘的归档日志,可以被自动删除(必须在闪回恢复区中)。

设置备份的设备类型:

RMAN> configure default device type to disk;

RMAN> configure default device type to sbt;

设置备份文件类型:

RMAN> configure device type disk backup type to copy;

RMAN> configure device type disk backup type to dackupset;

RMAN> configure device type disk backup type to compressed backupset;

RMAN> configure device type sbt backup type to compressed backupset;

设置备份的通道:

设置备份磁盘目标

RMAN> configure channel device type disk format '/disk1/ora_df%t_s%s_s%p';

设置备份目标为ASM磁盘组

RMAN> configure channel device type disk format '+dgroup1';

设置备份并行度:

RMAN> configure device type disk parallelism 2;

设置控制文件和SPFILE自动备份:

RMAN> configure controlfile autobackup on;

RMAN> configure controlfile autobackup off;

RMAN> configure controlfile autobackup format for device type disk to '/oraback/ctl_%F'

配置多路备份:

COPIES可以指定要备份几个冗余的备份集

可以在RMAN环境中指定COPIES
CONFIGURE DEVICE TYPE sbt PARALLELISM 1;
CONFIGURE DEFAULT DEVICE TYPE TO sbt;
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/disk1/%U', '/disk2/%U';
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE sbt TO 2;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE sbt TO 2;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2;
BACKUP AS BACKUPSET DATABASE PLUS ARCHIVELOG;

这样在备份数据文件、归档日志文件时,都将创建2份备份。

或者在backup语句中指定copies
BACKUP AS BACKUPSET DEVICE TYPE DISK
COPIES 3
INCREMENTAL LEVEL 0
DATABASE;

重写配置:

在run块中可重新制定备份配置,下面的例子重新指定了控制文件的备份格式,这些配置仅在run块中有效。

RUN
{
SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/tmp/%F.bck';
BACKUP AS BACKUPSET
DEVICE TYPE DISK
DATABASE;
}

RMAN格式化文件格式:
%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)

4、管理RMAN备份

4.1 LIST命令


list backup;

列出所有备份。

list copy;

列出映象副本。

list backup of database;

列出所有的数据库备份集而不论是完整的还是增量的。

list backup of datafile 1;

列出包含数据文件1的备份。

list backup of tablespace users;

列出包含users表空间的备份。

list backup of archivelog all;

列出所有归档日志的备份。

list copy of archivelog from time 'sysdate-7';

列出过去7天生成的归档日志的所有映象副本。

list backup of arvhivelog from sequence 1000 until sequence 1050;

列出包含日志切换序列号为1000~1050的归档日志的所有备份。

LIST除了能查看备份,还能用于查看数据库信息:

LIST ARVHIVELOG ALL:

列出所有归档日志。

LIST INCARNATION:

RMAN> list incarnation of database orarac;

LIST DB_UNIQUE_NAME(DG环境中):

A database in a Data Guard environment is distinguished by its
DB_UNIQUE_NAME initialization parameter setting. You can list
all databases that have the same DBID.

LIST ... FRO DB_UNIQUE_NAME(DG环境中):

You can list all backups and copies for a specified database in a
Data Guard environment or for all databases in the
environment.

LIST RESTORE POINT:

You can list restore points known to the RMAN repository.

LIST SCRIPT NAMES:

You can list the names of recovery catalog scripts created with
the CREATE SCRIPT or REPLACE SCRIPT command. A
recovery catalog is required.

list expired:

列出在元数据中存在但不存在于指定存储设备上的备份或映象副本.

list ... by file:

Lists backups of each data file, archived redo log file, control file, and server parameter
file. Each row describes a backup of a file.

list ... summary:

Provides a one-line summary of each backup.

4.2 REPORT命令

RMAN> report schema;

列出构成数据库的所有数据文件。

RMAN> report need backup;

根据保留策略,列出需要的备份的所有数据文件和归档日志文件。

RMAN> report need backup days 3;

列出3天未备份的所有文件。

RMAN> report need backup redundancy 3;

列出没有三个冗余备份的所有文件。

RMAN> report obsolete;

列出所有不再需要的副本和备份集。然后使用

RMAN> delete obsolete;

删除不再需要的备份。

RMAN> report obsolete redundancy 2;

列出对象备份数目为3个或更多的所有备份。

RMAN> delete obsolete redundancy 2;

删除上面多余的备份。

RMAN> delete backupset 4;

删除备份集4。

RMAN> delete copy of datafile 6 tag file6_extra;

删除TAG为file6_extra的备份。

4.3 crosscheck命令

RMAN> crosscheck backup of database;

该命令查询备份元数据(存在于控制文件或目录数据库),并确认备份文件是否存在于存储设备中。不存在的备份文件被标记为expired。使用下面命令更新备份元数据:

RMAN> delete expired;

注意上面的命令只删除控制文件或目录数据库中的备份元数据,而不删除备份文件。

另外如果备份文件被移走,此时crosscheck将标记为expired,然后将备份文件拷贝回来,再次crosscheck,备份文件仍将可用。

5.管理备份的动态性能视图

v$backup_files

v$backup_set

v$backup_piece

v$backup_redolog

v$backup_spfile

v$backup_datafile

v$backup_device

v$rman_configuration

6.使用目录代替控制文件存储rman元数据

6.1 配置目录数据库


以普通的方式安装并创建数据库,然后创建表空间用户授权

create tablespace rmancat datafile 'rmancat01.dbf' size 200m;
create user rman identified by rman default tablespace rmancat quota unlimited on rmancat;
grant recovery_catalog_owner to rman;

然后使用rman同时连接到目标数据库(要备份的数据库)和目录数据库

rman target / catalog rman/rman@catdb

在RMAN中创建目录并注册数据库:

RMAN> create catalog;

RMAN> register database;

6.2 虚拟专用目录

多个数据库注册到一个目录数据库,此时使用虚拟专用目录:

以下的步骤创建虚拟专用目录:

a.按常规方式创建目录

b.创建一个额外的模式vpcowner,并授予它RECOVER_CATALOG_OWNER角色和CREATE_SESSION的系统权限

c.作为目录所有者使用RMAN连接到目录,并发出如下命令:
GRANT CATALOG FOR DATABASE dbname TO vpcowner;
此时允许vpowner注册它自己的数据库。

d.如果希望新用户拥有以已注册的使用权限,使用如下命令:
grant catalog for database dbname to vpcowner;

e.使用vpcowner通过RMAN连接到目录数据库,发出命令:
create virtual catalog;

f.使用RMAN作为vpcowner连接到目录并作为SYS连接到目标数据库,注册目标数据库。

注意:如果目录不可用,备份元数据将暂时保存在控制文件中。在RMAN下一次同时连接到目标和目录时将进行同步。控制文件中的数据保存时间由CONTROLFILE_RECORD_KEEP_TIME参数定义,因此超过该时间的保存在控制文件中的数据将被覆盖,无法再同步到目录中。


6.3 在目录中注册备份信息

可以将备份拷贝到一个新的路径,然后在目录中注册备份信息,官方说明如下:


Cataloging Backups in the Recovery Catalog

If you have data file copies, backup pieces, or archived logs on disk, then you can catalog them in the recovery catalog with the CATALOG command. When using a
recovery catalog, cataloging older backups that have aged out of the control file lets RMAN use the older backups during restore operations. The following commands
illustrate this technique:
CATALOG DATAFILECOPY '/disk1/old_datafiles/01_01_2003/users01.dbf';
CATALOG ARCHIVELOG '/disk1/arch_logs/archive1_731.dbf',
'/disk1/arch_logs/archive1_732.dbf';
CATALOG BACKUPPIECE '/disk1/backups/backup_820.bkp';


You can also catalog multiple backup files in a directory at once by using the CATALOG
START WITH command, as shown in the following example:
CATALOG START WITH '/disk1/backups/';


RMAN lists the files to be added to the RMAN repository and prompts for confirmation before adding the backups. Be careful when creating your prefix with CATALOG START WITH. RMAN scans all paths for all files on disk that begin with the specified prefix. The prefix is not just a directory name. Using the wrong prefix can cause the cataloging of the wrong set of files.
For example, assume that a group of directories /disk1/backups, /disk1/backups-year2003, /disk1/backupsets, and /disk1/backupsets/test and so on, all contain backup files. The following command catalogs all files in all of these directories, because /disk1/backups is a prefix for the paths for all of these directories:
CATALOG START WITH '/disk1/backups';


To catalog only backups in the /disk1/backups directory, the correct command
would be as follows:
CATALOG START WITH '/disk1/backups/';


7. RMAN验证备份的有效性

7.1 block corruption


7.1.1 physical corruption

checksum:A number calculated by the database from all the bytes stored in a data or redo block.

In a physical corruption, which is also called a media corruption, the database does not recognize the block at all: the checksum is invalid, the block contains all zeros, or the header and footer of the block do not match.

默认情况下,BACKUP命令会计算checksum,可以指定NOCHECKSUM选项,阻止RMAN在创建备份时计算checksum。

7.1.2 logical corruption

In a logical corruption, the contents of the block are logically inconsistent. Examples of logical corruption include corruption of a row piece or index entry. If RMAN detects logical corruption, then it logs the block in the alert log and server session trace file. By default, RMAN does not check for logical corruption. If you specify CHECK LOGICAL on the BACKUP command, however, then RMAN tests data and index blocks for logical corruption, such as corruption of a row piece or index entry, and log them in the alert log located in the Automatic Diagnostic Repository (ADR).

默认情况下,RMAN不会检查块逻辑损坏,只有指定CHECK LOGICAL选项,RMAN才会检查逻辑损坏并将结果记录在日志文件和跟踪文件中。

7.2 使RMAN在备份时检查块损坏

7.2.1 DB_BLOCK_CHECKSUM = typical

通过设置该初始化参数使数据库自动计算checksum,并不是在backup时计算,而是在数据库使用数据文件时计算。

7.2.2 BACKUP命令的SET MAXCORRUPT配置

不要为BACKUP命令指定SET MAXCORRUPT,这样RMAN将不能容忍任何块损坏。

7.2.3 BACKUP命令的NOCHECKSUM配置

不要为BACKUP指定NOCHECKSUM选项,这样RMAN在备份中会自动计算checksum。

7.2.4 BACKUP/RESTORE命令的CHECK LOGICAL配置

在BACKUP和RESTORE时,指定CHECK LOGICAL选项可以使RMAN检查逻辑和物理损坏。

7.3 让RMAN容忍块损坏

You can use the SET MAXCORRUPT command to set the total number of unmarked corruptions permitted in a file for RMAN backups. The default is zero, meaning that RMAN does not tolerate unmarked corrupt blocks of any kind.

如下面的例子指定可以容忍的数据文件的坏块数:

RUN
{
SET MAXCORRUPT FOR DATAF>ILE 1,2,3,4,5 TO 1;
BACKUP CHECK LOGICAL
DATABASE;
}

7.4 使用VALIDATE命令

7.4.1 使用VALIDATE

检查数据库中的数据文件和控制文件

RMAN> VALIDATE DATABASE;

检查备份集

RMAN> VALIDATE BACKUPSET 22;

检查单独的数据块

RMAN> VALIDATE DATAFILE 1 BLOCK 10;

当数据文件非常大,在检查数据文件时,可以使用并行

RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
ALLOCATE CHANNEL c2 DEVICE TYPE DISK;
VALIDATE DATAFILE 1 SECTION SIZE 1200M;
}

7.4.2 使用BACKUP VALIDATE

BACKUP VALIDATE可以检查数据文件的物理损坏及逻辑损坏;还可以确认所有数据库文件存在于相应的位置。

使用BACKUP VALIDATE时,RMAN仅读取文件并检查它们,但并不生成任何备份集。

下面是两个检查所有数据库数据文件、控制文件和归档日志文件的例子:

BACKUP VALIDATE
DATABASE
ARCHIVELOG ALL;
这个例子仅检查物理损坏。

BACKUP VALIDATE
CHECK LOGICAL
DATABASE
ARCHIVELOG ALL;
这个例子检查物理损坏和逻辑损坏。

7.4.3 RESTORE ... VALIDATE

还原之前检查备份的有效性,而不是真正的还原数据库。

通常,都是使用这条命令来验证备份文件的可用性的。

例如:

RESTORE DATABASE VALIDATE;
RESTORE ARCHIVELOG ALL VALIDATE;

它们仅验证数据库备份和归档日志备份的有效性,而不是真正的还原。

8. RMAN的监视与调整

8.1 监视RMAN通道


对于下面的RMAN备份

RMAN> run {
           allocate channel ch1 type disk;
           allocate channel ch2 type disk;
           backup as compressed backupset tablespace users;
}

使用下面的SQL语句查询会话在v$process中的内容

select sid, spid, client_info
from v$process p join v$session s on (p.addr=s.paddr)
where client_info like '%rman%'

这样可以通过操作系统进程号spid查询进程资源占用情况。

8.2 V$SEESION_LONGOPS视图

V$SESSION_LONGOPS displays the status of various operations that run for longer than 6 seconds (in absolute time). These operations currently include many backup and
recovery functions, statistics gathering, and query execution, and more operations are added for every Oracle release.

该视图查询当前数据库的长操作(运行时间超过6秒),能查到对应的操作类型,进行进度,以及相关的SQL信息。

下面的语句查询RMAN作业进度:

select sid, serial#, opname, sofar, totalwork
from v$session_longops
where opname like 'RMAN%'
and sofar <> totalwork;

其中sofar/totalwork计算出的比值即为进度。

8.3 调整RMAN

8.3.1 RMAN配置参数

MAXOPENFILES integer:Controls the maximum number of input files that a BACKUP command can have open at any given time (the default is 8). Use this parameter to prevent "Too many open files" error messages when backing up a large number of files into a single backup set.
一个BACKUP命令能打开的最大输入文件数,使用这个参数避免因为将过多的文件放在一个备份集中而报错。

MAXPIECESIZE sizeSpec:Specifies the maximum size of each backup piece created on this channel.Specify the size in bytes, kilobytes (K),megabytes (M), or gigabytes (G). The default setting is in bytes and is rounded down into kilobytes. For example, if you set MAXPIECESIZE to 5000, RMAN sets the maximum piece size at 4 kilobytes, which is the lower kilobyte boundary of 5000 bytes.
By default a backup set contains one backup piece. To restrict the size of each backup piece, specify the MAXPIECESIZE option of the CONFIGURE CHANNEL or ALLOCATE
CHANNEL commands. This option limits backup piece size to the specified number of bytes. If the total size of the backup set is greater than the specified backup piece size,then RMAN creates multiple physical pieces to hold the backup set contents.
每个通道的备份片的最大大小。默认情况下备份集包含一个备份片,在CONFIGURE CHANNEL和ALLOCATE CHANNEL命令中设置MAXPIECESIZE参数可以限定备份片的大小,此时,如果备份集的大小
大于MAXPIECESIZE,那么一个备份集将生成多个备份片。

FILESPERSET integer:Specifies the maximum number of input files to include in each output backup set. This parameter is only relevant when BACKUP generates backup sets.
RMAN backs up the files in each backupSpec as one or more backup sets. When the number of files in each backupSpec exceeds the FILESPERSET setting, then RMAN splits the files into multiple backup sets accordingly. The default value for FILESPERSET is 64.
Also, you can specify BACKUP ...
The FILESPERSET parameter of the BACKUP command determines how many datafiles to put in each backup set.The FILESPERSET default is 64.
每个备份集最大输入文件数量。该值默认为64。

duration Specifies options related to the maximum time for a backup command to run.
增加或减少完成备份需要的时间。

下面的语句执行固定时间内的部分备份(如果时间范围内备份不能完成):

RMAN> backup duration 2:00 partial database;

指定partial时,部分备份在恢复中仍然可用。

SECTION SIZE:If you specify the SECTION SIZE parameter on the BACKUP command, then RMAN creates a backup set in which each backup piece contains the blocks from one file section.
将一个大的数据文件放在多个备份片中。

下面的语句将表空间分割为多个300M大小并分别放到不同的备份片中。

BACKUP
SECTION SIZE 300M
TABLESPACE users;

8.3.2 Multiplexed Backup Sets

RMAN同时读取多个datafile,将这些datafile的块混合放在一个备份片中,这称为backup multiplexing。

The level of multiplexing
This is the number of input files simultaneously read and then written into the same backup piece. The level of multiplexing is the minimum of MAXOPENFILES and the number of files in each backup set. The MAXOPENFILES default is 8.
multiplexing级别代表同时读取几个datafile,并将它们写入一个备份片中。它取值为MAXOPENFILES和FILESPERSET中的最小值(实际上还包括files_per_channel,即为三者的最小值)。

Suppose that you back up 12 datafiles with one channel when FILEPERSET is set to 4.The level of multiplexing is the lesser of this number and 8. Thus, the channel
simultaneously writes blocks from 4 datafiles into each backup piece.
假设要备份12个数据文件,使用一个通道,该通道的FILEPERSET设置为4,而MAXOPENFILES默认为8,则multiplexing级别为4,那么通道同时读取4个数据文件的块写到每一个备份片。
如果一个通道备份50个数据文件,并且该通道FILEPERSET设置为50,此时MAXOPENFILES默认为8,则则multiplexing级别为8,那么通道同时读取8个数据文件的块写道每一个备份片。

8.3.3 使用并行备份

通过分配多个通道实现RMAN备份的并行化。但是要注意分配的通道数不能超过物理磁盘的数量,否则可能适得其反。

如果数据库中的数据文件数量相对稳定,则可以使用下面的脚本并行化RMAN备份:

run{
    allocate channel c1 device type disk;
    allocate channel c2 device type disk;
    allocate channel c3 device type disk;
    backup as backupset
       (datafile 1,2,9 channel c1)
       (datafile 3,5,8 channel c2)
       (datafile 4,6,7 channel c3)
}

9.附录——backup语句示例

9.1 备份数据库

BACKUP DATABASE;

BACKUP DATABASE PLUS ARCHIVELOG;

BACKUP
DEVICE TYPE sbt
TABLESPACE users, tools;

BACKUP
DEVICE TYPE sbt
DATAFILE 1,2,3,4
DATAFILECOPY '/tmp/system01.dbf';

BACKUP DEVICE TYPE sbt
TABLESPACE users
INCLUDE CURRENT CONTROLFILE;

9.2 备份控制文件及参数文件

BACKUP AS COPY
CURRENT CONTROLFILE
FORMAT '/tmp/control01.ctl';

BACKUP AS COPY
CURRENT CONTROLFILE
FORMAT '/tmp/control01.ctl';
BACKUP DEVICE TYPE sbt
CONTROLFILECOPY '/tmp/control01.ctl';

BACKUP DEVICE TYPE sbt SPFILE;

BACKUP ARCHIVELOG
FROM SEQUENCE 121
UNTIL SEQUENCE 125;

9.3 备份归档日志文件

BACKUP DATABASE PLUS ARCHIVELOG;

BACKUP ARCHIVELOG ALL;

BACKUP ARCHIVELOG
FROM TIME 'SYSDATE-30'
UNTIL TIME 'SYSDATE-7';

BACKUP ARCHIVELOG ALL NOT BACKED UP 2 TIMES;

BACKUP DEVICE TYPE sbt
ARCHIVELOG ALL
DELETE ALL INPUT;

9.4 增量备份

BACKUP
INCREMENTAL LEVEL 0
DATABASE;

BACKUP
INCREMENTAL LEVEL 1
TABLESPACE SYSTEM, tools;

BACKUP
INCREMENTAL LEVEL 1 CUMULATIVE
TABLESPACE users;

9.5 备份到磁带

RUN
{
ALLOCATE CHANNEL c1
DEVICE TYPE sbt
PARMS 'ENV=(OB_MEDIA_FAMILY=archival_backup)';
BACKUP DATABASE
TAG quarterly
KEEP FOREVER
RESTORE POINT FY06Q4;
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值