「備份恢復(fù)」 如何實(shí)現(xiàn)在DG備庫進(jìn)行RMAN備份
我們知道RMAN備份時(shí),將占用IO資源,所以,一般都是在業(yè)務(wù)比較空閑的晚上進(jìn)行備份,而且備份后,也會發(fā)現(xiàn)空閑內(nèi)存比較低,都在CACHE中去了,如果我們搭建了DG備庫,是否可以不在主庫備份,直接在備庫備份呢?
答案是肯定的。
方法是:
1.配置主庫RMAN配置的鏈接標(biāo)識
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. 編目備庫當(dāng)前數(shù)據(jù)文件
在主備庫使用ASM磁盤組的情況下,而且文件使用OMF,如果查看當(dāng)前備庫數(shù)據(jù)文件,你會發(fā)現(xiàn)不認(rèn)識了,要讓你修改:
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
直接編目當(dāng)前數(shù)據(jù)文件位置即可:
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;
之后,就可以在備庫進(jìn)行備份時(shí),直接切換主庫的歸檔日志。
rman target sys/syspasswd@stdby cmdfile=backup.rcv
cat backup.rcv
run{
...
backup database plus archivelog;
...
}
注意上面的 syspasswd修改為真實(shí)的密碼,stdby為備庫的連接串。
之后,再去執(zhí)行rman 備份命令,會看到下面 在主庫歸檔 的信息,
。。。
current log archived at primary database
。。。
