程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> ORACLE中采用rman備份異機恢復數據庫詳細過程

ORACLE中采用rman備份異機恢復數據庫詳細過程

編輯:Oracle教程

ORACLE中采用rman備份異機恢復數據庫詳細過程



場景:

1,從生產庫上copy好全備份文件
恢復數據庫需要准備的文件:rman完整備份(包括數據文件、日志文件、控制文件、參數文件),記錄源數據庫的DBID
1.1,查看參數文件信息
RMAN> list backup of spfile;
1.2查看控制文件信息:
RMAN> list backup of controlfile;
1.3 查看數據庫信息:
RMAN> list backup of database;
1.4 查看歸檔日志信息:
RMAN> list backup of archivelog all;
2、開始恢復參數文件控制文件:
SQL> select dbid from v$database;
2.1 設置DBID:
注意:在rman下即使沒有參數文件,默認也會啟動一個DUMMY實例,以便能夠恢復參數文件。
2.2 恢復spfile文件
startup到open狀態,先查看spfile文件位置:
有CONFIGURE CONTROLFILE AUTOBACKUP ON; 表示參數文件和控制文件有備份

2.3,恢復控制文件位置
查看控制文件位置
2.4, 在新控制文件中注冊數據文件備份和歸檔備份
catalog start with '/oracle/app/oracle/flash_recovery_area/stuorcl/backupset/2015-01-27/';
2.5,恢復整個庫
因為前面恢復了整個spfile已經controlfile,所以接下來恢復所有庫的話,就不用帶參數,直接恢復restore database就可以 ;
3.1,查看原來備份庫上的歸檔信息
[oracle@xuexi4 ~]$ sqlplus / as sysdba
3.2,copy備份庫上面的 29167到29186的dbf歸檔日志文件到測試庫的歸檔日志目錄下面
cp *29186* /tmp/rmanbak
3.3,查看到原來的歸檔目錄和測試庫一樣,所以嘗試下繼續執行recover命令,然後繼續在測試庫的rman界面,進行recover操作:
RMAN> recover database;
3.3,看到有報錯,還是缺失歸檔日志包,去現在測試庫/oracle/app/oracle/flash_recovery_area/archivelog/下面看了沒有新的29187歸檔日志,所以從原來備份庫上copy過來的歸檔日志都應該執行完了,直接試試打開open。
RMAN> alter database open resetlogs;
4,登錄連接驗證,驗證連接報錯:
[oracle@xuexi4 admin]$ sqlplus "sys/sys@SC_PD";
5,找到原來的用戶下的表,導出來恢復到線上。

總結步驟:
1,scp全備文件到測試庫,在備份庫上查詢好參數文件控制文件歸檔路徑等信息
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved