1 recover database using backup controlfile
本文主要介紹如下四種
恢復方式的含義與區別:
1. recover database using backup controlfile
若是丟失當前控制文件,用冷 備份的控制文件恢復的時候,用來告訴 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」
而某些狀況下,Oracle須要把數據恢復到比當前controlfile所紀錄的SCN還要靠後的位置(好比說,control file是backup controlfile , 或者 controlfile是根據trace create的。),這時候,就須要用using backup controlfile. 恢復就不會受「當前controlfile所記錄的SCN」的限制。這時候的限制就來自於你的語句(until time , until scn),或者可用的archive log(until cancel) ...
結果以下: 結論:
能夠得出結果,若是有舊的數據庫備份,在歸檔日誌和在線日誌所有保存無缺的狀況下,使用recover database或recover database using backup controlfile。則不丟失數據
until cancel就是不徹底恢復
在線日誌文件丟失:rest 若是正常關閉數據庫,而後啓動時報錯:日誌 SQL> alter database open;
數據庫已更改。 |