- 論壇徽章:
- 0
|
在沒有rman catalog的情況下,我一般建議用戶單獨(dú)將controlfile采用非rman方式備份出來,因?yàn)榛謴?fù)數(shù)據(jù)庫時(shí)要在start mount狀態(tài)下才能用rman恢復(fù),而start mount的前提是controlfile已經(jīng)在了。所以,一般比較簡(jiǎn)單的方式為“1.文件方式恢復(fù)controlfile、2.startup mount、3.用rman恢復(fù)數(shù)據(jù)庫”。但是,如果在nocatalog方式下如果沒有用文件方式備份controlfile而數(shù)據(jù)庫全部壞了,還有一個(gè)方法救命.......
關(guān)于如何在rman沒有catalog的情況下恢復(fù)用Rman 備份到磁帶上的controlfile
1. 利用 bplist 命令(NetBackup命令)查出最新備份的 controlfile 所在的備份集
# bplist -C oraserver -S bkserver -t 4 -R /
/cntrl_47_1_487002297
/cntrl_46_1_487002110
/cntrl_43_1_486814317
/al_42_1_486814273
/al_40_1_486814236
/al_41_1_486814236
/al_39_1_485975390
/al_38_1_485975073
/al_37_1_485964377
/al_36_1_485956945
/al_35_1_485956730
/al_34_1_485956488
/al_33_1_485798568
/cntrl_32_1_485795684
/al_31_1_485795653
/cntrl_30_1_485794954
/al_29_1_485794918
/cntrl_28_1_485719603
/al_26_1_485719551
/al_27_1_485719551
/bk_25_1_485719418
/bk_24_1_485719417
其中oraserver為oracle所在的NBU客戶端,bkserver為 NBU MasterServer.
如上所示/cntrl_47_1_487002297 為最新的controlfile 備份集。
2. 將現(xiàn)有的數(shù)據(jù)庫shutdown之后啟動(dòng)到nomount狀態(tài)
SQL> conn / as sysdba
Connected.
SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount 可寫可不寫,看情況
ORACLE instance started.
Total System Global Area 69652640 bytes
Fixed Size 73888 bytes
Variable Size 52621312 bytes
Database Buffers 16777216 bytes
Redo Buffers 180224 bytes
3. 在SQL中敲入一下腳本
SQL>
SQL> declare
2 devtype varchar2(256);
3 done boolean;
4 begin
5 devtype:=dbms_backup_restore.deviceallocate('sbt_tape',params=>'');
6 dbms_backup_restore.restoresetdatafile;
7 dbms_backup_restore.restorecontrolfileto('/tmp/abc.cf');
8
dbms_backup_restore.restorebackuppiece('cntrl_47_1_487002297',done=>done
);
9 end;
10 /
其中'/tmp/abc.cf'為我們要取出的controlfile 所存放的位置和名稱;
'cntrl_47_1_487002297'為先前我們得到的Controlfile 所在的備份集名稱
其余不需更改!
此腳本運(yùn)行的結(jié)果為:
PL/SQL procedure successfully completed.
4. 將/tmp/abc.cf文件改名為正確的controlfile 名字
5. 啟動(dòng)數(shù)據(jù)庫到mount狀態(tài)
6. 再執(zhí)行RMAN的恢復(fù)腳本,恢復(fù)數(shù)據(jù)。
本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/1398/showart_56845.html |
|