1. 程式人生 > >using backup controlfile 和 until cancel區別

using backup controlfile 和 until cancel區別

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;

區別:


1. 如果丟失丟失當前控制檔案,用冷備份的控制檔案恢復的時候。用來告訴oracle,不要以controlfile中的scn作為恢復的終點;

2. 如果丟失current/active redo的時候。手動指定終點。

3. 如果 丟失當前controlfile並且current/active redo都丟失,會先去 自動 應用歸檔日誌,可以實現最大的恢復;

4. 如果 丟失當前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) ...