概述
我们知道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
最后
以上就是淡然歌曲为你收集整理的[备份恢复] 如何实现在DG备库进行RMAN备份的全部内容,希望文章能够帮你解决[备份恢复] 如何实现在DG备库进行RMAN备份所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复