從備份集恢復歸檔日誌的測試與說明
當資料庫出現問題,但不需要restore只需recover時,發現要用到的archivelog已經備份並刪除了,因為我們備份archivelog一般是採用delete input的,
這時先需要restore archivelog,然後才能做recover,下面介紹一下restore archivelog的用法:
restore archivelog後面可以跟的引數有"all, from, high, like, logseq, low, scn, sequence, time, until"
現在舉一列子說明:
1.列出已經備份的archivelog
list backup of archivelog all;
2.預覽恢復出程,但不真正恢復
可以在你執行恢復前先看看恢復過程,也可以驗證一下你的語法是否寫對
restore archivelog all preview; 即在你要執行的restore archivelog命令後加preview
restore archivelog sequence 18 preview;
3.恢復指定時間範圍的archivelog
3.1 顯示2008-08-13 10:00:00到2008-08-13 11:00:00之間的archivelog
list backup of archivelog time between "to_date('2008-08-13 10:00:00','yyyy-mm-dd hh24:mi:ss')" and "to_date('2008-08-13 11:00:00','yyyy-mm-dd hh24:mi:ss')";
3.2 預覽恢復2008-08-13 10:00:00到2008-08-13 11:00:00之間的archivelog
restore archivelog time between "to_date('2008-08-13 10:00:00','yyyy-mm-dd hh24:mi:ss')" and "to_date('2008-08-13 11::00','yyyy-mm-dd hh24:mi:ss')" preview;
3.3 真正恢復2008-08-13 10:00:00到2008-08-13 11:00:00之間的archivelog
restore archivelog time between "to_date('2008-08-13 10:00:00','yyyy-mm-dd hh24:mi:ss')" and "to_date('2008-08-13 11::00','yyyy-mm-dd hh24:mi:ss')"
4.恢復指定的archivelog
restore archivelog sequence 18; 恢復sequence為18的archivelog
5.restore archivelog like恢復模糊查詢出來的archivelog,這個只能用於透過catalog的備份,用nocatalog的會報錯
restore archivelog like '%18%';
6.恢復指定sequence範圍的archivelog
restore archivelog from sequence 18 until sequence 20;
或restore archivelog low sequence 18 high sequence 20;
或restore archivelog low logseq 18 high logseq 20;
7.指定archivelog的恢復目的地,如你想把archivelog恢復到一個臨時目錄時有用,但這個必須包含在run{}裡面才能用
set archivelog destination to 'e:temp';
以上基本上可以解決你恢復archivelog的需求,我是在10.2.0.4版本中測試透過的,歡迎大家補充,轉載請說明出處.
---------------------------------------------
以下部分是在本人正式環境中遇到的實際情況,非轉載:
備份日誌中有以下內容:
通道 t1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =18070 記錄 ID=35794 時間戳=671966051
輸入存檔日誌執行緒 =1 序列 =18071 記錄 ID=35796 時間戳=671966351
輸入存檔日誌執行緒 =1 序列 =18072 記錄 ID=35798 時間戳=671966652
輸入存檔日誌執行緒 =1 序列 =18073 記錄 ID=35800 時間戳=671966952
輸入存檔日誌執行緒 =1 序列 =18074 記錄 ID=35802 時間戳=671967249
輸入存檔日誌執行緒 =1 序列 =18075 記錄 ID=35804 時間戳=671967550
輸入存檔日誌執行緒 =1 序列 =18076 記錄 ID=35806 時間戳=671967850
輸入存檔日誌執行緒 =1 序列 =18077 記錄 ID=35808 時間戳=671968151
輸入存檔日誌執行緒 =1 序列 =18078 記錄 ID=35810 時間戳=671968451
單獨恢復18071 到18076
rman> run
{ allocate channel t1 type 'sbt_tape' parms 'ENV=(tdpo_optfile=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
restore archivelog from logseq 18071 until logseq 18076 ;
release channel t1;
}
經過線上環境的實地測試,以上指令碼可行
作者:George.ma BLOG:http://blog.chinaunix.net/u/12521/
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/633084/viewspace-1016454/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 備份與恢復--從備份的歸檔日誌中恢復資料
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- RMAN備份與恢復(新舊控制檔案及歸檔日誌)測試
- 冷備份+歸檔日誌的恢復
- RMAN備份與恢復(新舊控制檔案及歸檔日誌)測試(敘)
- 老虎是如何從備份集中恢復歸檔日誌
- 用restore archivelog從備份集中恢復歸檔日誌RESTHive
- 【備份恢復】恢復 丟失已歸檔重做日誌檔案
- 第5章:從開啟的資料庫備份與恢復之備份歸檔日誌檔案資料庫
- RMAN備份及恢復歸檔日誌的語法
- 歸檔日誌大小 與使用rman 備份後的歸檔日誌產生的備份集大小的關係
- RMAN備份恢復之歸檔日誌對BLOCKRECOVER的影響BloC
- 沒備份,歸檔日誌存在,丟失資料檔案的恢復
- 備份&恢復之四:非歸檔模式下的備份與恢復模式
- 備份歸檔日誌
- 恢復控制檔案後,沒有最後一個歸檔日誌的備份,也沒新增歸檔日誌資訊,怎麼恢復?
- 【備份恢復】恢復inactive狀態的日誌檔案
- 對 Oracle 備份與恢復 的補充說明Oracle
- 備份歸檔日誌檔案
- 使用logmnr,在RMAN備份檔案中恢復備份的歸檔日誌檔案進行分析
- 備份之歸檔重做日誌備份
- Oracle RMAN 不完全恢復(只有資料檔案備份,丟失歸檔日誌備份)Oracle
- 【備份與恢復】恢復受損的複用聯機重做日誌檔案
- oracle備份與恢復測試(五)Oracle
- DELETE OBSOLETE不刪除歸檔日誌以及歸檔的備份集delete
- DG歸檔日誌缺失恢復
- 測試在丟失歸檔日誌的情況下,跳過部分歸檔日誌進行資料恢復資料恢復
- Oracle邏輯備份與恢復選項說明Oracle
- 無備份恢復(歸檔模式)模式
- Oracle叢集資料庫中恢復歸檔日誌Oracle資料庫
- 備份與恢復--利用備份的控制檔案恢復
- 恢復歸檔日誌檔案的常用方法
- rman全庫備份備份歸檔日誌檔案
- 不完全恢復(資料檔案備份--新建表空間--控制檔案備份--日誌歸檔檔案)
- rman備份恢復-rman恢復資料檔案測試
- 【備份恢復】 恢復重做日誌組成員
- RMAN備份歸檔日誌多份 %c
- 備份與恢復系列 十一 控制檔案的備份與恢復