Oracle中RMAN的BACKUP常用参数有哪些

这篇文章给大家分享的是有关Oracle中RMAN的BACKUP常用参数有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

   backup命令用来生成备份,可以在执行backup时为备份指定很多属性。官方文档上backup命令语法功能非常丰富,但是没有必要一一的掌握。先要了解一些基本用法,特殊的参数,用到的时候临时抱佛脚就行了。

  下面我们挑一些常用的参数,做以说明。

BACKUP参数选项

full

   服务器会话将所有块都复制到备份集中,只跳过从未使用过的数据文

件块。在备份归档重做日志或控制文件时,服务器会话不会跳过任何块。完全备份不是增量备份。

incremental

level

integer

   服务器会话复制自上次n 级增量备份以来更改过的数据块,其中n 是从1 到4 之间的任意整数。要执行大于0 级的增量备份时,服务器进程会在BACKUP 命令中检查每个数据文件的0 级备份或0 级副本是否存在。如果指定增量,则必须在备份说明中设置以下参数之一:DATA FILE、DATA FILECOPY、TABLESPACE 或DATABASE。恢复管理器不支持控制文件、归档重做日志或备份集的增量备份。

filesperset

integer

   如果指定了FILESPERSET 参数,恢复管理器就会将FILESPERSET值与计算的值(备份的文件数与通道数的比值)进行比较,并采用两者中的较小值,从而确保使用所有的通道。如果不指定FILESPERSET,恢复管理器就会将计算的值(文件数与分配的通道数的比值)与缺省值64 进行比较并采用两者中的较小值。当通道多于要备份的文件时,多余的通道将保持空闲。输入文件不能在通道之间进行分割。

skip

   指定该参数可将某些数据文件或归档重做日志排除在备份集之外。该参数具有以下选项:

 offline:将脱机数据文件排除在备份集之外。

 readonly:排除属于只读表空间的数据文件。

 inaccessible:排除由于I/O 错误而无法读取的数据文件或归档重

做日志。

maxsetsize

integer

  以字节(缺省)、千字节(K)、兆字节(M) 或千兆字节(G) 来指定备份集的最大大小。恢复管理器会尽量将所有的备份集限制为指定的大小。

delete

input

  在成功创建备份集后删除输入文件。仅当备份归档重做日志、数据文

件副本或备份集时才指定该选项。它相当于对所有输入文件执行

CHANGE . . . DELETE 命令。

include

current

controlfile

创建当前控制文件的快照并将其放置在该子句生成的各备份集中。
Format  输出名称的格式。可以单独使用或组合使用格式参数。
PLUS ARCHIVELOG 连带ARCHIVELOG一起备份
COPIES integer 多重备份,即备份集写多份。integer 取值(1-4),默认是1

下面演示一下skip、filesperset、maxsetsize、COPIES等用法

  • skip 跳过只读文件

SQL> ALTER TABLESPACE IDX READ ONLY;

Tablespace altered.

RMAN> BACKUP DATABASE SKIP READONLY;

Starting backup at 2015/07/09 03:39:49
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1 device type=DISK
skipping read-only file 6
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/devdb/system01.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/devdb/sysaux01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/devdb/example01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/devdb/undotbs01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/devdb/users01.dbf
channel ORA_DISK_1: starting piece 1 at 2015/07/09 03:39:49
channel ORA_DISK_1: finished piece 1 at 2015/07/09 03:41:45
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_nnndf_TAG20150709T033949_bstz45xk_.bkp tag=TAG20150709T033949 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:56
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 2015/07/09 03:41:46
channel ORA_DISK_1: finished piece 1 at 2015/07/09 03:41:47
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_ncsnf_TAG20150709T033949_bstz7toh_.bkp tag=TAG20150709T033949 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2015/07/09 03:41:47
  • FILEPERSET 限制备份集最多包含文件个数。

RMAN>  BACKUP DATABASE filesperset 2;

Starting backup at 2015/07/09 03:45:11
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/devdb/system01.dbf
input datafile file number=00006 name=/u01/app/oracle/oradata/devdb/idx01.dbf
channel ORA_DISK_1: starting piece 1 at 2015/07/09 03:45:11
channel ORA_DISK_1: finished piece 1 at 2015/07/09 03:45:46
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_nnndf_TAG20150709T034511_bstzg7tn_.bkp tag=TAG20150709T034511 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00002 name=/u01/app/oracle/oradata/devdb/sysaux01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/devdb/users01.dbf
channel ORA_DISK_1: starting piece 1 at 2015/07/09 03:45:46
channel ORA_DISK_1: finished piece 1 at 2015/07/09 03:46:11
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_nnndf_TAG20150709T034511_bstzhc17_.bkp tag=TAG20150709T034511 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:26
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00005 name=/u01/app/oracle/oradata/devdb/example01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/devdb/undotbs01.dbf
channel ORA_DISK_1: starting piece 1 at 2015/07/09 03:46:12
channel ORA_DISK_1: finished piece 1 at 2015/07/09 03:46:27
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_nnndf_TAG20150709T034511_bstzj460_.bkp tag=TAG20150709T034511 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 2015/07/09 03:46:28
channel ORA_DISK_1: finished piece 1 at 2015/07/09 03:46:29
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_ncsnf_TAG20150709T034511_bstzjnbx_.bkp tag=TAG20150709T034511 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2015/07/09 03:46:29
  • maxsetsize 设置备份集最大大

RMAN> backup database maxsetsize 200M;

Starting backup at 2015/07/09 03:52:02
using channel ORA_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup command at 07/09/2015 03:52:02
RMAN-06183: datafile or datafile copy /u01/app/oracle/oradata/devdb/system01.dbf (file number 1) larger than MAXSETSIZE

备份集的最大大小不能小于任意一个数据文件的大小。

RMAN>  backup database maxsetsize 1G;

Starting backup at 2015/07/09 03:58:47
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00002 name=/u01/app/oracle/oradata/devdb/sysaux01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/devdb/example01.dbf
channel ORA_DISK_1: starting piece 1 at 2015/07/09 03:58:48
channel ORA_DISK_1: finished piece 1 at 2015/07/09 03:59:23
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_nnndf_TAG20150709T035847_bsv07r5l_.bkp tag=TAG20150709T035847 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/devdb/system01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/devdb/undotbs01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/devdb/users01.dbf
input datafile file number=00006 name=/u01/app/oracle/oradata/devdb/idx01.dbf
channel ORA_DISK_1: starting piece 1 at 2015/07/09 03:59:23
channel ORA_DISK_1: finished piece 1 at 2015/07/09 03:59:58
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_nnndf_TAG20150709T035847_bsv08vcs_.bkp tag=TAG20150709T035847 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 2015/07/09 03:59:59
channel ORA_DISK_1: finished piece 1 at 2015/07/09 04:00:00
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_ncsnf_TAG20150709T035847_bsv09zlm_.bkp tag=TAG20150709T035847 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2015/07/09 04:00:00
SQL> select name,bytes/1024/1024||'MB' from v$datafile;
NAME						   BYTES/1024/1024||'MB'
-------------------------------------------------- --------------------------------------
/u01/app/oracle/oradata/devdb/system01.dbf	   770MB
/u01/app/oracle/oradata/devdb/sysaux01.dbf	   580MB
/u01/app/oracle/oradata/devdb/undotbs01.dbf	   95MB
/u01/app/oracle/oradata/devdb/users01.dbf	   16.25MB
/u01/app/oracle/oradata/devdb/example01.dbf	   345.625MB
/u01/app/oracle/oradata/devdb/idx01.dbf 	   10MB
  • COPIES

RMAN> backup copies 2 database format '/backup/full_%U';

Starting backup at 2015/07/09 04:06:29
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/devdb/system01.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/devdb/sysaux01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/devdb/example01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/devdb/undotbs01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/devdb/users01.dbf
input datafile file number=00006 name=/u01/app/oracle/oradata/devdb/idx01.dbf
channel ORA_DISK_1: starting piece 1 at 2015/07/09 04:06:29
channel ORA_DISK_1: finished piece 1 at 2015/07/09 04:08:04 with 2 copies and tag TAG20150709T040629
piece handle=/backup/full_3bqbj5m5_1_1 comment=NONE
piece handle=/backup/full_3bqbj5m5_1_2 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:35
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 2015/07/09 04:08:05
channel ORA_DISK_1: finished piece 1 at 2015/07/09 04:08:06 with 2 copies and tag TAG20150709T040629
piece handle=/backup/full_3cqbj5p4_1_1 comment=NONE
piece handle=/backup/full_3cqbj5p4_1_2 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2015/07/09 04:08:06

如果备份集放到默认的fast recovery area中,是不允许使用copies参数的

RMAN>  backup copies 2 database;

Starting backup at 2015/07/09 04:11:37
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/devdb/system01.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/devdb/sysaux01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/devdb/example01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/devdb/undotbs01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/devdb/users01.dbf
input datafile file number=00006 name=/u01/app/oracle/oradata/devdb/idx01.dbf
channel ORA_DISK_1: starting piece 1 at 2015/07/09 04:11:37
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 07/09/2015 04:11:38
ORA-19806: cannot make duplex backups in recovery area
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 2015/07/09 04:11:39
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 07/09/2015 04:11:40
ORA-19806: cannot make duplex backups in recovery area

感谢各位的阅读!关于“Oracle中RMAN的BACKUP常用参数有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/205208.html

(0)
上一篇 2021年11月29日
下一篇 2021年11月29日

相关推荐

发表回复

登录后才能评论