程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle從備份集中恢復歸檔日志方法

oracle從備份集中恢復歸檔日志方法

編輯:Oracle教程

oracle從備份集中恢復歸檔日志方法


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;

注意我們修改的地方是:destination=>'/archivelog02指定恢復出來歸檔日志的存放系統目錄位置,thread表示rac的thread號,sequence為需要恢復的那個歸檔日志序列號,handle表示備份集的絕對路徑。 修改完畢後,直接在sqlplus命令窗口執行即可。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved