熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

舊數據文件,舊控制文件,新日志,怎樣恢復?

2013-11-13 22:07:49  來源: Oracle 

  步驟
  修改trc文件(或者編寫)你的create control file 的腳本(或sql語句)
  類似下面的例如保存到aaasql
  CREATE CONTROLFILE REUSE DATABASE SCP NORESETLOGS ARCHIVELOGARCHIVELOG
  MAXLOGFILES
  MAXLOGMEMBERS
  MAXDATAFILES
  MAXINSTANCES
  MAXLOGHISTORY
  LOGFILE
  GROUP /home/oracle/recovery/redodbf SIZE K
  GROUP /home/oracle/recovery/redodbf SIZE K
  GROUP /home/oracle/recovery/redodbf SIZE K
  GROUP /home/oracle/recovery/redodbf SIZE K
  GROUP /home/oracle/recovery/redodbf SIZE K
  GROUP /home/oracle/recovery/redodbf SIZE K
  DATAFILE
  /home/oracle/recovery/SYSTEM_drd
  /home/oracle/recovery/TOOLS_drd
  /home/oracle/recovery/RBS_drd
  /home/oracle/recovery/TEMP_drd
  /home/oracle/recovery/USERS_drd
  /home/oracle/recovery/INDX_drd
  CHARACTER SET USASCII
  ;
  用你的有效備份覆蓋現在的錯誤數據文件
  
  重建控制文件就是前面的帖子的步驟
  sqlplus internal或者sqlplus /nolog ; conn / as sysdba
  startup nomount
  @aaasql
  用控制文件恢復數據庫
  shutdown
  startup mount
  recover using backup controlfile until cancel;
  直到所有的archive log file都用完了alter database open resetlogs;
  resetlogs open db
  
  注意!如果你的archive 和init中定義的不一致系統會提示你輸入 Specify log: {=suggested | filename | AUTO | CANCEL}你可以輸入auto也可以指定你的archive log files的路徑和名稱或者你也可以用類似下面的命令
  recover automatic from /home/oracle/recovery/arch using backup controlfile until cancel;
  
  ()丟失所有數據文件控制文件redo日志文件 (續
  成功恢復過程
   拷貝舊冷備數據文件
  rcp r 冷備 數據目錄
   mount數據庫
  Oracle_home>bin/svrmgrl
  SVRMGR> connect internal
  SVRMGR> startup mount
   用using backup controlfile進行恢復
  SVRMGR> recover database until cancel using backup controlfile;
  出現輸入提示時輸入AUTO
   用Open Resetlog 打開數據庫
  SVRMGR> alter database open RESETLOGS;
   恢復結束看一下目前日志狀態
  SVRMGR> archive log list;
  應出現
  Oldest online log sequence
  Next log sequence to archive
  Current log sequence
  
  
  其恢復過程如下
  
  丟失所有數據文件控制文件redo日志文件
  
  成功恢復過程
   拷貝舊冷備數據文件
  rcp r 冷備 數據目錄
   mount數據庫
  Oracle_home>bin/svrmgrl
  SVRMGR> connect internal
  SVRMGR> startup mount
   用using backup controlfile進行恢復
  SVRMGR> recover database until cancel using backup controlfile;
  出現輸入提示時輸入AUTO
   用Open Resetlog 打開數據庫
  SVRMGR> alter database open RESETLOGS;
   恢復結束看一下目前日志狀態
  SVRMGR> archive log list;
  應出現
  Oldest online log sequence
  Next log sequence to archive
  Current log sequence
From:http://tw.wingwit.com/Article/program/Oracle/201311/18308.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.