資料庫resetlogs後進行rman恢復6
和一哥們聊,rman可以把以前的備份集加到控制檔案裡面去。
那我這個問題不就很簡單解決了嗎。
檢視資料,rman裡面,catalog命令可以,摘抄網上的文章
在9i時代,如果在控制檔案或者catalog資料庫中的備份資訊被覆蓋或者清除,那麼即使所有的備份檔案都在,rman也無法簡單的利用這些檔案來做恢復了,必須得用些特別的方法才能辦到,比如以前很多牛人寫的使用dbms_backup_restore包從備份片中釋放出資料檔案,然後再使用手工方式做恢復。
但是實際上,oracle完全可以將恢復時需要的一些資訊儲存在備份檔案的檔案頭中,如果控制檔案或者catalog資料庫中的資訊丟失,再掃描一遍檔案頭,取出這些資訊就可以了。10g中就是這麼實現的,掃描這些檔案頭的工作就是由這個新的catalog命令來實現的。注意這是10g rman的一個命令,雖然和以前的catalog database的名字長得一樣,可不是同一個東西。
catalog命令可以用來掃描備份片,檔案複製(datafile or controlfile copy),也可以用來掃描歸檔日誌,所以,只要你的備份還在,歸檔還在,即使catalog database崩潰,控制檔案重建,照樣可以用這些備份來做恢復。
掃描備份片
CATALOG BACKUPPIECE ‘?/oradata/01dmsbj4_1_1.bcp’;
掃描歸檔日誌
CATALOG ARCHIVELOG ‘?/oradata/archive1_30.dbf’, ‘?/oradata/archive1_31.dbf’;
掃描資料檔案複製,並且將其做為增量備份的level 0
CATALOG DATAFILECOPY ‘?/oradata/users01.bak’ LEVEL 0;
掃描控制檔案複製
CATALOG CONTROLFILECOPY ‘controlfilecopy.ctl’
掃描整個目錄,如果備份片或者歸檔日誌檔案太多,可以放到一個目錄中,一次性掃描就行
CATALOG START WITH ‘/tmp/arch_logs’;
掃描閃回恢復區
CATALOG RECOVERY AREA NOPROMPT;
這裡需要注意將備份的log和備份檔案一起儲存下來,不然就不知道哪些檔案屬於哪個備份集,恢復的時候就要多浪費些時間啦。但是注意這些命令是有限制的,其中的一個限制是不能註冊備份檔案到不同的資料庫:
You cannot use CATALOG to catalog a file that belongs to a different database.
也就是說你至少還需要原資料庫的控制檔案。
但是實際上,oracle完全可以將恢復時需要的一些資訊儲存在備份檔案的檔案頭中,如果控制檔案或者catalog資料庫中的資訊丟失,再掃描一遍檔案頭,取出這些資訊就可以了。10g中就是這麼實現的,掃描這些檔案頭的工作就是由這個新的catalog命令來實現的。注意這是10g rman的一個命令,雖然和以前的catalog database的名字長得一樣,可不是同一個東西。
catalog命令可以用來掃描備份片,檔案複製(datafile or controlfile copy),也可以用來掃描歸檔日誌,所以,只要你的備份還在,歸檔還在,即使catalog database崩潰,控制檔案重建,照樣可以用這些備份來做恢復。
掃描備份片
CATALOG BACKUPPIECE ‘?/oradata/01dmsbj4_1_1.bcp’;
掃描歸檔日誌
CATALOG ARCHIVELOG ‘?/oradata/archive1_30.dbf’, ‘?/oradata/archive1_31.dbf’;
掃描資料檔案複製,並且將其做為增量備份的level 0
CATALOG DATAFILECOPY ‘?/oradata/users01.bak’ LEVEL 0;
掃描控制檔案複製
CATALOG CONTROLFILECOPY ‘controlfilecopy.ctl’
掃描整個目錄,如果備份片或者歸檔日誌檔案太多,可以放到一個目錄中,一次性掃描就行
CATALOG START WITH ‘/tmp/arch_logs’;
掃描閃回恢復區
CATALOG RECOVERY AREA NOPROMPT;
這裡需要注意將備份的log和備份檔案一起儲存下來,不然就不知道哪些檔案屬於哪個備份集,恢復的時候就要多浪費些時間啦。但是注意這些命令是有限制的,其中的一個限制是不能註冊備份檔案到不同的資料庫:
You cannot use CATALOG to catalog a file that belongs to a different database.
也就是說你至少還需要原資料庫的控制檔案。
restore以後,要有backup controlfile恢復,同樣摘抄網上的文章
1 recover database using backup controlfile
2 recover database until cancel
3 recover database using backup controlfile until cancel;
4 recover database until cancel using backup controlfile;
2 recover database until cancel
3 recover database using backup controlfile until cancel;
4 recover database until cancel using backup controlfile;
本文主要介紹以下四種恢復方式的含義與區別:
1. recover database using backup controlfile
ITPUB個人空間 \6C+L-K3}+m
如果丟失當前控制檔案,用冷備份的控制檔案恢復的時候,用來告訴oracle,不要以controlfile中的scn作為恢復的終點;
2. recover database until cancel
如果丟失current/active redo的時候,手動指定終點。
3. recover database using backup controlfile until cancel;
如果丟失當前controlfile並且current/active redo都丟失,會先去自動應用歸檔日誌,可以實現最大的恢復;
4. recover database until cancel using backup controlfile;
如果丟失當前controlfile並且current/active redo都丟失,以舊的redo中的scn為恢復終點。因為沒有應用歸檔日誌,所有會丟失資料。
要理解recover database using backup controlfile,先理解 recover database,也就是說,不加using backup controlfile的情況。
在普通的recover database 或者 recover tablespace, recover datafile時, Oracle會以當前controlfile所紀錄的SCN為準,利用archive log和 redo log的redo entry, 把相關的datafile 的 block恢復到“當前controlfile所紀錄的SCN”
I而某些情況下,Oracle需要把資料恢復到比當前controlfile所紀錄的SCN還要靠後的位置(比如說,control file是backup controlfile , 或者 controlfile是根據trace create的。),這時候,就需要用using backup controlfile. 恢復就不會受“當前controlfile所記錄的SCN”的限制。這時候的限制就來自於你的語句(until time , until scn),或者可用的archive log(until cancel) ...
結果如下:
如果控制檔案丟失,restore備份的控制檔案後,則必須使用using backup controlfile選項。而until cancel則是不完全恢復,即current/active redo丟失,或者從restore資料庫後某個歸檔檔案缺失,則終止。
1. recover database using backup controlfile
ITPUB個人空間 \6C+L-K3}+m
如果丟失當前控制檔案,用冷備份的控制檔案恢復的時候,用來告訴oracle,不要以controlfile中的scn作為恢復的終點;
2. recover database until cancel
如果丟失current/active redo的時候,手動指定終點。
3. recover database using backup controlfile until cancel;
如果丟失當前controlfile並且current/active redo都丟失,會先去自動應用歸檔日誌,可以實現最大的恢復;
4. recover database until cancel using backup controlfile;
如果丟失當前controlfile並且current/active redo都丟失,以舊的redo中的scn為恢復終點。因為沒有應用歸檔日誌,所有會丟失資料。
要理解recover database using backup controlfile,先理解 recover database,也就是說,不加using backup controlfile的情況。
在普通的recover database 或者 recover tablespace, recover datafile時, Oracle會以當前controlfile所紀錄的SCN為準,利用archive log和 redo log的redo entry, 把相關的datafile 的 block恢復到“當前controlfile所紀錄的SCN”
I而某些情況下,Oracle需要把資料恢復到比當前controlfile所紀錄的SCN還要靠後的位置(比如說,control file是backup controlfile , 或者 controlfile是根據trace create的。),這時候,就需要用using backup controlfile. 恢復就不會受“當前controlfile所記錄的SCN”的限制。這時候的限制就來自於你的語句(until time , until scn),或者可用的archive log(until cancel) ...
結果如下:
如果控制檔案丟失,restore備份的控制檔案後,則必須使用using backup controlfile選項。而until cancel則是不完全恢復,即current/active redo丟失,或者從restore資料庫後某個歸檔檔案缺失,則終止。
結論:
1、適用於restore舊的控制檔案,且歸檔日誌和cuurrent/active redo都沒有丟失情況。如果一切歸檔日誌和線上日誌完好,可以不丟失資料。類似於recover database
2、當前控制檔案未丟失(不需要restore舊的控制檔案),此時有歸檔日誌或者current/active log有丟失情況下,則終止。最大可能恢復資料
3、4:我在oracle 10.2.0.4環境下測試效果是相同的,即適用於restore舊的控制檔案,在恢復到控制檔案備份那刻後,系統會提示應用控制檔案備份後的歸檔日誌,如果沒有則停止。也是最大可能的恢復資料。
1、適用於restore舊的控制檔案,且歸檔日誌和cuurrent/active redo都沒有丟失情況。如果一切歸檔日誌和線上日誌完好,可以不丟失資料。類似於recover database
2、當前控制檔案未丟失(不需要restore舊的控制檔案),此時有歸檔日誌或者current/active log有丟失情況下,則終止。最大可能恢復資料
3、4:我在oracle 10.2.0.4環境下測試效果是相同的,即適用於restore舊的控制檔案,在恢復到控制檔案備份那刻後,系統會提示應用控制檔案備份後的歸檔日誌,如果沒有則停止。也是最大可能的恢復資料。
可以得出結果,如果有舊的資料庫備份,在歸檔日誌和線上日誌全部儲存完好的情況下,使用recover database或recover database using backup controlfile。則不丟失資料
如果存在備份資料檔案restore後,歸檔日誌或者線上日誌(active、current)丟失情況下,則可以恢復到丟失的前一個歸檔日誌
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13337857/viewspace-767720/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫resetlogs後進行rman恢復7資料庫
- 資料庫resetlogs後進行rman恢復5資料庫
- 資料庫resetlogs後進行rman恢復4資料庫
- 資料庫resetlogs後進行rman恢復3資料庫
- 資料庫resetlogs後進行rman恢復2資料庫
- 資料庫resetlogs後進行rman恢復1資料庫
- open resetlogs後資料恢復資料恢復
- 透過RMAN進行資料庫恢復(step by step)資料庫
- Oracle資料庫恢復之resetlogsOracle資料庫
- RMAN恢復資料庫資料庫
- rman恢復時跳過資料檔案,進行恢復
- 10可以穿越resetlogs恢復資料庫!資料庫
- rman 全庫恢復asm資料庫ASM資料庫
- 用rman進行恢復資料,簡單步驟!
- oracle之rman恢復資料庫Oracle資料庫
- LianTong rman資料庫恢復資料庫
- 資料庫複製方式進行資料庫恢復資料庫
- 升級失敗後對資料庫進行恢復 (2)資料庫
- 升級失敗後對資料庫進行恢復 (1)資料庫
- 使用RESETLOGS重建控制檔案恢復資料庫資料庫
- 【RMAN】rman使用NORESTELOGS 方式恢復資料庫REST資料庫
- ORACLE利用STANDBY端RMAN備份進行資料恢復Oracle資料恢復
- rman恢復 使用switch映像副本進行恢復
- 利用RMAN恢復整個資料庫資料庫
- 使用RESETLOGS重建控制檔案恢復資料庫(二)資料庫
- 只有.dbf資料檔案進行資料庫恢復資料庫
- 【備份恢復】RMAN catalog 恢復目錄資料庫資料庫
- rman資料庫全庫備份與恢復資料庫
- 使用netbackup進行資料庫恢復案例資料庫
- RMAN 資料庫修復(restore)與資料庫恢復(recover)介紹資料庫REST
- 歸檔路徑更改後,如何對資料庫進行恢復(轉)資料庫
- 使用RMAN還原和恢復資料庫資料庫
- 利用rman恢復來複制資料庫資料庫
- RMAN恢復目錄資料庫的搭建資料庫
- oracle RMAN 非歸檔資料庫恢復Oracle資料庫
- rman 恢復資料塊
- rman恢復資料塊
- 使用dbms_backup_restore進行資料庫恢復REST資料庫