從備份集恢復(fù)歸檔日志的測(cè)試與說明(轉(zhuǎn)載)
近期研究備份和恢復(fù)卓有成效,正好對(duì)日志恢復(fù)有些生疏,看到EYGLE里有篇好文,先借過用用。
http://space.itpub.net/8334342/viewspace-523080
當(dāng)數(shù)據(jù)庫(kù)出現(xiàn)問題,但不需要restore只需recover時(shí),發(fā)現(xiàn)要用到的archivelog已經(jīng)備份并刪除了,因?yàn)槲覀儌浞輆rchivelog一般是采用delete input的,
這時(shí)先需要restore archivelog,然后才能做recover,下面介紹一下restore archivelog的用法:
restore archivelog后面可以跟的參數(shù)有"all, from, high, like, logseq, low, scn, sequence, time, until"
現(xiàn)在舉一列子說明:
1.列出已經(jīng)備份的archivelog
list backup of archivelog all;
2.預(yù)覽恢復(fù)出程,但不真正恢復(fù)
可以在你執(zhí)行恢復(fù)前先看看恢復(fù)過程,也可以驗(yàn)證一下你的語(yǔ)法是否寫對(duì)
restore archivelog all preview; 即在你要執(zhí)行的restore archivelog命令后加preview
restore archivelog sequence 18 preview;
3.恢復(fù)指定時(shí)間范圍的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 預(yù)覽恢復(fù)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 真正恢復(fù)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.恢復(fù)指定的archivelog
restore archivelog sequence 18; 恢復(fù)sequence為18的archivelog
5.restore archivelog like恢復(fù)模糊查詢出來的archivelog,這個(gè)只能用于通過catalog的備份,用nocatalog的會(huì)報(bào)錯(cuò)
restore archivelog like '%18%';
6.恢復(fù)指定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的恢復(fù)目的地,如你想把a(bǔ)rchivelog恢復(fù)到一個(gè)臨時(shí)目錄時(shí)有用,但這個(gè)必須包含在run{}里面才能用
set archivelog destination to 'e:\temp';
以上基本上可以解決你恢復(fù)archivelog的需求,我是在10.2.0.4版本中測(cè)試通過的,歡迎大家補(bǔ)充,轉(zhuǎn)載請(qǐng)說明出處.
---------------------------------------------
以下部分是在本人正式環(huán)境中遇到的實(shí)際情況,非轉(zhuǎn)載:
備份日志中有以下內(nèi)容:
通道 t1: 正在指定備份集中的存檔日志
輸入存檔日志線程 =1 序列 =18070 記錄 ID=35794 時(shí)間戳=671966051
輸入存檔日志線程 =1 序列 =18071 記錄 ID=35796 時(shí)間戳=671966351
輸入存檔日志線程 =1 序列 =18072 記錄 ID=35798 時(shí)間戳=671966652
輸入存檔日志線程 =1 序列 =18073 記錄 ID=35800 時(shí)間戳=671966952
輸入存檔日志線程 =1 序列 =18074 記錄 ID=35802 時(shí)間戳=671967249
輸入存檔日志線程 =1 序列 =18075 記錄 ID=35804 時(shí)間戳=671967550
輸入存檔日志線程 =1 序列 =18076 記錄 ID=35806 時(shí)間戳=671967850
輸入存檔日志線程 =1 序列 =18077 記錄 ID=35808 時(shí)間戳=671968151
輸入存檔日志線程 =1 序列 =18078 記錄 ID=35810 時(shí)間戳=671968451
單獨(dú)恢復(fù)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;
}
經(jīng)過在線環(huán)境的實(shí)地測(cè)試,以上腳本可行
posted on 2009-12-01 22:11 gdufo 閱讀(1092) 評(píng)論(0) 編輯 收藏 所屬分類: Database (oracle, sqlser,MYSQL)