RMAN中基于copy的全备合并增备进行增量备份的方式

本文介绍了使用RMAN的`backup as copy level 0`进行数据库全备,随后通过增量备份合并增备的一种不常用方法。详细步骤包括执行全备、两次增量备份,以及如何验证恢复效果。这种方法可以减少备份空间,但恢复时间较长。
摘要由CSDN通过智能技术生成

 

日常在生产环境中使用RMAN在线热备数据库一般都是每周一次全备+每天备归档   或者 每周一次全备,每天一次增备的方式进行备份的。这种方式备份的优点时,占用空间较少,备份快,恢复时间相对较长(因为要逐一读取全备之后的所有增备的备份文件)。

而另一种不常用的方法是:

1、先做一次基于 level 0级别数据库文件副本完全拷贝(backup ascopy level 0 database),RMAN脚本类似如下:

run{
  allocate channel c1 type disk;
  allocate channel c2 type disk;
  allocate channel c3 type disk;
  backup as copy incremental level 0 tag incr_update database format'/backup/rman_bak/full/lv0_%U.bak';
  #backup archivelog all format '/backup/rman_bak/full/lv0_arc_%U.bak' tagincr_update;
  #backup current controlfile format'/backup/rman_bak/full/lv0_ctl_%U.bak' tag incr_update;
  release channel c1;
  release channel c2;
  release channel c3;
}

 

2、之后至少执行两次基于以上 level 0级别的数据库文件副本完全拷贝(全备)的增量备份,RMAN脚本如下:

run{
  allocate channel c1 type disk format '/backup/rman_bak/incr/%U_cp.bak';
  allocate channel c2 type disk format '/backup/rman_bak/incr/%U_cp.bak';
  recover copy of database  with tag 'incr_update';
  backup incremental level 1 for recover of copy with tag 'incr_update'database;
  #backup archivelog all format '/backup/rman_bak/incr/arc_%U.bak' tagincr_update;
  #backup current controlfile format '/backup/rman_bak/incr/ctl_%U.bak'tag incr_update;
  release channel c1;
  release channel c2;
}

以上 tag  的名称必须要全部一致,必须要和之前的level 0的拷贝全备的 tag 名称一致。

其中:

2.1)、recover copy of database  with tag 'incr_update'; 表示将上次的增备的备份文件内容应用到全备文件中,应用后,全备文件的最后修改时间会变为最新的时间。第一次增备时,由于还不存在上次的的增备,所以是不会应用上一次的增备到全库文件的。

2.2)、backup incremental level 1 for recover of copy withtag 'incr_update' database; 这个是开始执行本次的增备。

 

昨天测试的具体实现过程如下:

1、检查当前的日志组是group 1:

15:52:50SYS@orcl*SQL> select * from v$log;                                              
                                                                                       
GROUP#   THREAD#    SEQUENCE#             BYTES          BLOCKSIZE   MEMBERS ARC STATUS  
------ --------- ------------ ------------------ ------------------ ------------- --------
     1         1           1           52428800               512         1 NO  CURRENT 
     2         1           0           52428800               512         1 YES UNUSED  
     3         1           0           52428800               512          1 YESUNUSED  

 

2、执行基于 level 0 的 backup as copy  全备:

RMAN> run{
2>  allocate channel c1 type disk;
3>  allocate channel c2 type disk;
4>  allocate channel c3 type disk;
5>  backup as copy incremental level 0 tag incr_update database format'/backup/rman_bak/full/lv0_%U.bak';
6>  backup archivelog all format '/backup/rman_bak/full/lv0_arc_%U.bak'tag incr_update;
7>  backup current controlfile format'/backup/rman_bak/full/lv0_ctl_%U.bak' tag incr_update;
8>  release channel c1;
9>  release channel c2;
10> release channel c3;
11> }

 

using targetdatabase control file instead of recovery catalog
allocated channel: c1
channel c1: SID=22 device type=DISK


allocated channel: c2
channel c2: SID=143 device type=DISK


allocated channel: c3
channel c3: SID=9 device type=DISK


Starting backup at 11-OCT-17
channel c1: starting datafile copy
input datafile file number=00001 name=/oracle/oradata/orcl/system01.dbf
channel c2: starting datafile copy
input datafile file number=00002 name=/oracle/oradata/orcl/sysaux01.dbf
channel c3: starting datafile copy
input datafile file number=00006 name=/oracle/oradata/orcl/test_tbs01.dbf
output filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-TEST_TBS_FNO-6_5isgolnd.baktag=INCR_UPDATE RECID=138 STAMP=957110026
channel c3: datafile copy complete, elapsed time: 00:00:47
channel c3: starting datafile copy
input datafile file number=00003 name=/oracle/oradata/orcl/undotbs01.dbf
output file name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-SYSTEM_FNO-1_5gsgolnd.baktag=INCR_UPDATE RECID=140 STAMP=957110122
channel c1: datafile copy complete, elapsed time: 00:02:05
channel c1: starting datafile copy
input datafile file number=00005 name=/oracle/oradata/orcl/example01.dbf
output file name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-SYSAUX_FNO-2_5hsgolnd.baktag=INCR_UPDATE RECID=139 STAMP=957110117
channel c2: datafile copy complete, elapsed time: 00:02:05
channel c2: starting datafile copy
input datafile file number=00008 name=/oracle/oradata/orcl/goldengate01.dbf
output filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-UNDOTBS1_FNO-3_5jsgolp8.baktag=INCR_UPDATE RECID=141 STAMP=957110125
channel c3: datafile copy complete, elapsed time: 00:01:09
channel c3: starting datafile copy
copying current control file
output filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-EXAMPLE_FNO-5_5ksgolra.baktag=INCR_UPDATE RECID=142 STAMP=957110136
channel c1: datafile copy complete, elapsed time: 00:00:22
channel c1: starting datafile copy
input datafile file number=00004 name=/oracle/oradata/orcl/users01.dbf
output filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-GOLDENGATE_FNO-8_5lsgolra.baktag=INCR_UPDATE RECID=143 STAMP=957110137
channel c2: datafile copy complete, elapsed time: 00:00:21
channel c2: starting datafile copy
input datafile file number=00010 name=/oracle/oradata/orcl/users02.dbf
output file name=/backup/rman_bak/full/lv0_cf_D-ORCL_id-1342766198_5msgolrg.baktag=INCR_UPDATE RECID=144 STAMP=957110137
channel c3: datafile copy complete, elapsed time: 00:00:15
channel c3: starting incremental level 0 datafile backup set
channel c3: specifying datafile(s) in backup set
including currentSPFILE in backup set
channel c3:starting piece 1 at 11-OCT-17
output filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-4_5nsgols0.baktag=INCR_UPDATE RECID=145 STAMP=957110144
channel c1: datafile copy complete, elapsed time: 00:00:00
output file name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-10_5osgols0.baktag=INCR_UPDATE RECID=146 STAMP=957110144
channel c2: datafile copy complete, elapsed time: 00:00:00
channel c3: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/full/lv0_5psgols0_1_1.bak tag=INCR_UPDATEcomment=NONE
channel c3: backup set complete, elapsed time: 00:00:01
Finished backup at 11-OCT-17


Starting backup at 11-OCT-17
current log archived
channel c1: starting archived log backup set
channel c1: specifying archived log(s) in backup set
input archived log thread=1 sequence=3 RECID=145 STAMP=957019801
input archived log thread=1 sequence=4 RECID=146 STAMP=957020136
input archived log thread=1 sequence=5 RECID=147 STAMP=957020138
input archived log thread=1 sequence=6 RECID=148 STAMP=957020140
input archived log thread=1 sequence=7 RECID=149 STAMP=957020143
channel c1: starting piece 1 at 11-OCT-17
channel c2: starting archived log backup set
channel c2: specifying archived log(s) in backup set
input archived log thread=1 sequence=8 RECID=150 STAMP=957106841
channel c2: starting piece 1 at 11-OCT-17
channel c3: starting archived log backup set
channel c3: specifying archived log(s) in backup set
input archived log thread=1 sequence=9 RECID=151 STAMP=957107100
input archived log thread=1 sequence=10 RECID=152 STAMP=957107524
input archived log thread=1 sequence=11 RECID=153 STAMP=957108249
input archived log thread=1 sequence=12 RECID=154 STAMP=957108273
channel c3: starting piece 1 at 11-OCT-17
channel c1: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/full/lv0_arc_5qsgols4_1_1.bak tag=INCR_UPDATEcomment=NONE
channel c1: backup set complete, elapsed time: 00:00:02
channel c1: starting archived log backup set
channel c1: specifying archived l

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值