oracle從備份集中抓出歸檔日志方法
在大連醫院遇到這個問題,數據庫為歸檔狀態,但歸檔完畢後rman通過crontab自動備走歸檔日志並刪除存在系統上的歸檔日志文件。在RealSync程序停止一段時間後,需要應用歸檔日志來解決日志丟失問題。
問題是: 數據庫中的控制文件中關於備份的元數據已經丟失,但備份集存在。這時候我們開始調用oracle的一個內部非公開的函數包:dbms_backup_restore 來從備份集中抽取歸檔日志到指定的系統目錄。以滿足我們的需求。 語句如下: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;