2009-06-10 21 views
1

我目前在Red Hat Enterprise Linux 5.0上使用Oracle db11g。 我每週進行一次增量級別0和每天增量級別1。 我可以在沒有任何問題的情況下在新的Linux服務器上恢復此備份,因爲我擁有在1級備份後生成的所有歸檔日誌。但是,如果在線重做日誌尚未填滿(我的意思是在在線日誌中有一些重做信息),如何使用此在線日誌在新的Linux服務器上前滾到已還原的數據庫? 我不想丟失尚未歸檔的寶貴信息。將歸檔日誌和聯機重做日誌滾動到恢復的數據庫

最好的問候, Sarith

回答

2
  1. 恢復備份的文件。
  2. 將當前的聯機重做日誌文件(從「損壞的」生產實例)複製到新服務器。
  3. RECOVER DATABASE;

此方案假定您與存檔日誌和聯機日誌具有完全連續性。在進行恢復時,Oracle將應用必要的歸檔重做,然後移至聯機重做日誌以恢復到故障點。重要!不要從備份中恢復聯機重做日誌!使用崩潰實例中的當前在線日誌。

最後,不要相信你沒有爲自己練習而讀的任何東西!

+0

>>>最後,不要相信你沒有爲自己練習而讀的任何東西!<<<這是您獲得最佳備份建議。 – 2009-06-10 17:48:34

0

所以你的意思是你複製的數據庫使用RMAN另一臺服務器?

聯機重做日誌僅用於災難恢復。例如:您丟失了一個數據文件,從最新的備份中恢復數據文件,並應用歸檔日誌和最終聯機重做日誌。這使恢復的數據文件具有與控制文件(和其他數據文件)相同的SCN(系統更改編號)。災難恢復完成。

當您使用備份來複制另一臺服務器上的數據庫時,只能使用歸檔日誌進行前滾。它通過defenition進行不完全恢復(創建一個新的控制文件和redologs)。

做一個 SQL>改變系統切換日誌文件 備份之前?

但無論源數據庫保持打開狀態如何恢復。我現在並不是你的商業案例,但DataGuard可能是你的一個選擇。

羅布

+0

感謝您的回覆。 我的意思是我想要做災難恢復。 我擁有所有數據庫備份,存檔日誌和聯機重做日誌。 我可以從備份中恢復並前滾所有歸檔日誌,但我不知道如何處理聯機重做日誌。 你能告訴我這樣做的步驟嗎? – Sarith 2009-06-10 09:48:09

1

是的,你可以使用未歸檔日誌 - 如果您是通過「使用備份控制文件恢復數據庫」將歸檔日誌,只是提供的,而不是建議的歸檔日誌的名稱恢復過程提供了重做日誌名稱當涉及到這一點時(即「用盡歸檔日誌」)。