恢復歸檔日誌檔案的常用方法

paulyibinyi發表於2011-04-23

恢復歸檔日誌檔案

恢復歸檔檔案也是使用RESTORE命令,如果只是為了在恢復資料檔案後應用歸檔檔案,那並不需要手動對歸檔檔案進行恢復,RMAN會在RECOVER的時候自動對適當的歸檔進行恢復。

單獨恢復歸檔檔案一般是有特別的需求,如建立了Data Guard環境,Standby端丟失了部分歸檔檔案,必須從Primary端重新獲取。或者是需要透過LogMiner對之前的歸檔進行分析等。

恢復歸檔檔案非常靈活,可以全部恢復歸檔檔案,也可以精確指定恢復哪些備份的歸檔檔案,以下是具體例子:

1.  恢復全部的歸檔日誌檔案

RMAN>Restore archivelog all;

 

2.  恢復歸檔序號為2030之間的歸檔檔案:

 

RMAN> RESTORE ARCHIVELOG SEQUENCE BETWEEN 20 AND 30; 

3.  恢復從哪個歸檔日誌起

RMAN> restore archivelog from logseq 5;

4.  恢復7天內的歸檔日誌

RMAN> restore archivelog from time 'sysdate-7';

5.  恢復到哪個日誌檔案為止

RMAN> restore archivelog until logseq 100;

 

預設情況下,RMAN將歸檔檔案恢復到初始化引數LOG_ARCHIVE_DEST_1指定的路徑下,有時候我們希望將恢復出來的歸檔檔案儲存到其他路徑下,而不要與當前系統正在生成的歸檔檔案混在一起,那麼可以在執行RESTORE命令前,透過SET ARCHIVELOG DESTINATION TO命令設定歸檔的新路徑,例如:

1.  RMAN> RUN{  

2.  2> SET ARCHIVELOG DESTINATION TO 'F:\ORACLE\BACKUP\ARCLOG';  

3.  3> RESTORE ARCHIVELOG SEQUENCE BETWEEN 35 AND 40;  

4.  4> } 

這樣,恢復出來的SEQUENCE序號為3540的歸檔檔案就將被儲存到F:\oracle\backup\arclog目錄下。

同一個RUN塊中允許同時出現多個SET ARCHIVELOG命令,也就是說可以透過在不同位置設定不同的歸檔路徑的方式,將歸檔恢復到不同的目錄,例如:

1.  RMAN> RUN{  

2.  2> SET ARCHIVELOG DESTINATION TO 'F:\ORACLE\BACKUP\ARCLOG1';  

3.  3> RESTORE ARCHIVELOG SEQUENCE BETWEEN 15 AND 20;  

4.  4> SET ARCHIVELOG DESTINATION TO 'F:\ORACLE\BACKUP\ARCLOG2';  

5.  5> RESTORE ARCHIVELOG SEQUENCE BETWEEN 21 AND 30;  

6.  6> SET ARCHIVELOG DESTINATION TO 'F:\ORACLE\BACKUP\ARCLOG3';  

7.  7> RESTORE ARCHIVELOG SEQUENCE BETWEEN 31 AND 40;  

8.  8> } 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-693270/,如需轉載,請註明出處,否則將追究法律責任。

相關文章