如何实现在DG备库进行RMAN备份

发布时间:2021-09-18 00:00:00

我们知道RMAN备份时,将占用IO资源,所以,一般都是在业务比较空闲的晚上进行备份,而且备份后,也会发现空闲内存比较低,都在CACHE中去了,如果我们搭建了DG备库,是否可以不在主库备份,直接在备库备份呢?
答案是肯定的。
方法是:
    1.配置主库RMAN配置的链接标识
     rman>  configure db_unique_name 'orcl_primary' connect identifier 'orcl_primary';
     rman>  configure db_unique_name 'orcl_stdby' connect identifier 'orcl_stdby';
    2.在主库生成备库控制文件
      sql>alter database create standby controlfile as '/home/oracle/std.ctl';
    3.传递备库控制文件到备库

    4.备库使用主库生成的控制文件
      sql>startup nomount;
     rman>restore standby controlfile from '/tmp/std.ctl';
     rman> alter database mount;

    5. 编目备库当前数据文件
       在主备库使用ASM磁盘组的情况下,而且文件使用OMF,如果查看当前备库数据文件,你会发现不认识了,要让你修改:
      SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+DATA/MUST_RENAME_THIS_DATAFILE_1.4294967295.4294967295
+DATA/MUST_RENAME_THIS_DATAFILE_2.4294967295.4294967295
+DATA/MUST_RENAME_THIS_DATAFILE_3.4294967295.4294967295
+DATA/MUST_RENAME_THIS_DATAFILE_4.4294967295.4294967295
+DATA/MUST_RENAME_THIS_DATAFILE_5.4294967295.4294967295
+DATA/MUST_RENAME_THIS_DATAFILE_7.4294967295.4294967295
     直接编目当前数据文件位置即可:
      rman >catalog start with '+data/orcl/datafile/';
       ...
             Do you really want to catalog the above files (enter YES or NO)? YES
       ...
     如果不是OMF,需要如下:
       RMAN> catalog datafilecopy '<File-Specification>';

     之后,提交更改:
        RMAN> switch database to copy;

  6.clear all online redo log groups


    SQL> alter database clear logfile group 1;
    Database altered.
    SQL> alter database clear logfile group 2;
    Database altered.
    SQL> alter database clear logfile group 3;
    Database altered.  
  7.Recreate the standby redo logs on standby database
   SQL> alter database add standby logfile group 4 size 50m;

  之后,就可以在备库进行备份时,直接切换主库的归档日志。
    rman target sys/syspasswd@stdby cmdfile=backup.rcv

cat backup.rcv

run{
...
backup database plus archivelog;
...
}

注意上面的 syspasswd修改为真实的密码,stdby为备库的连接串。
之后,再去执行rman 备份命令,会看到下面 在主库归档 的信息,
。。。
  current log archived at primary database

<<