oracle從備份集中恢復(fù)歸檔日志方法
來源:程序員人生 發(fā)布時間:2014-11-03 08:34:20 閱讀次數(shù):3588次
oracle從備份集中抓出歸檔日志方法
在大連醫(yī)院遇到這個問題,http://www.vxbq.cn/db/為歸檔狀態(tài),但歸檔終了后rman通過crontab自動備走歸檔日志并刪除存在系統(tǒng)上的歸檔日志文件。在RealSync程序停止1段時間后,需要利用歸檔日志來解決日志丟失問題。
問題是:
http://www.vxbq.cn/db/中的控制文件中關(guān)于備份的元數(shù)據(jù)已丟失,但備份集存在。這時候候我們開始調(diào)用oracle的1個內(nèi)部非公然的函數(shù)包:dbms_backup_restore 來從備份集中抽取歸檔日志到指定的系統(tǒng)目錄。以滿足我們的需求。
語句以下:
declare
devtype varchar2(256);
done boolean;
begin
devtype:=sys.dbms_backup_restore.deviceAllocate(type=>'',ident=>'t2');
sys.dbms_backup_restore.restoreSetArchivedLog(destination=>'/archivelog02');
sys.dbms_backup_restore.restoreArchivedLog(thread=>2,sequence=>51500);
sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'/backup/zlhis/rman/AL_ZLHIS_20141030_862336902_23768_1',params=>null);
sys.dbms_backup_restore.deviceDeallocate;
end;
注意我們修改的地方是:destination=>'/archivelog02指定恢復(fù)出來歸檔日志的寄存系統(tǒng)目錄位置,thread表示rac的thread號,sequence為需要恢復(fù)的那個歸檔日志序列號,handle表示備份集的絕對路徑。
修改終了后,直接在sqlplus命令窗口履行便可。
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈