RMAN恢復

一、恢復數據庫:
 恢復數據庫:
 run {
  startup force mount;
  restore database;
  recover database;
  sql 'alter database open';
 }
 
 恢復數據庫(磁盤損壞)
 run {
  startup force mount;
  set newname for datafile 1 to '';
  set newname for datafile 2 to '';
  set newname for datafile 3 to '';
  ...
  restore database;
  switch datafile all;
  recover database;
  sql 'alter database open';
 }

二、恢復數據文件
 恢復system表空間數據文件
 run {
  startup force mount;
  restore datafile 1;
  recover datafile 1;
  sql 'alter database open';
 }
 
 恢復system表空間數據文件(磁盤損壞)
 run {
  startup force mount;
  set newname for datafile 1 to '';
  restore datafile 1;
  switch datafile 1;
  recover datafile 1;
  sql 'alter database open';
 }  
 
 數據文件丟失(非system表空間)
 run {
  startup force mount;
  sql 'alter database datafile 4 offile';
  sql 'alter database open';
  restore datafile 4;
  recover datafile 4;
  sql 'alter database datafile 4 online';
 }
 
 數據文件丟失且磁盤損壞(非system表空間)
 run {
  startup force mount;
  sql 'alter database datafile 4 offline';
  sql 'alter database open';
  set newname for datafile 4 to '';
  restore datafile 4;
  switch datafile 4;
  recover datafile 4;
  sql 'alter database datafile 4 online';
 }

 數據文件沒有備份,但archivelog全部完好
 run {
  startup force mount;
  sql 'alter database datafile 7 offline';
  sql 'alter database open';
  restore datafile 7;
  recover datafile 7;
  sql 'alter database datafile 7 online';
 }
 
 數據文件損壞
 run {
  startup force mount;
  sql 'alter database datafile 7 offline';
  sql 'alter database open';
  set newname for datafile 7 to '';
  restore datafile 7;
  switch datafile 7;
  recover datafile 7;
  sql 'alter database datafile 7 online';
 }
 
三、恢復表空間
 表空間數據文件被刪除
  run {
   sql 'alter tablespace users offline for recover';
   restore tablespace users;
   recover tablespace users;
   sql 'alter tablespace users online';
  }
  
 表空間數據文件所在磁盤出現故障
  run {
   sql 'alter tablesapce users offline for recover';
   set newname for datafile 4 to '';
   restore tablespace users;
   switch datafile all;
   recover tablespace users;
   sql 'alter tablespace users online';
  }
  
四、數據塊介質恢復
 blockrecover device type disk datafile 5 block 21,48,..;
 
五、不完全恢復
  --基於時間的恢復
 run {
  startup force mount;
  set until time='2010-10-30 17:00:28';
  restore database;
  recover database;
  sql 'alter database open resetlogs';
 }
 
 --基於日誌序列號
 run {
  startup force mount;
  set until sequence=6;
  restore database;
  recover database;
  sql 'alter database open resetlogs';
 }
 
 --基於scn
 run {
  startup force mount;
  set until scn=51141378;
  restore database;
  recover database;
  sql 'alter database open resetlogs';
 }
 
 不完全恢復後需要及時做備份
 run {
  delete noprompt backup;
  delete noprompt copy;
  backup database format='';
  sql 'alter system archive log current';
 }
 
 startup force mount;
 set dbid=3267878421;
 restore controlfile from autobackup maxseq 6;
 基於備份控制文件的不完全恢復
 run {  
  sql 'alter database mount';
  set until time='2010-10-30 17:00:28';
  restore database;
  recover database;
  sql 'alter database open resetlogs';
 }
 
 

 

發佈了44 篇原創文章 · 獲贊 2 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章