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

Oracle不完全恢復

2013-11-13 22:11:44  來源: Oracle 

  Oracle不完全恢復

  Sql代碼

  不完全恢復

  指的恢復到某一個時間點在這個時間點scn之後的操作會全部消失

  recover datafile until scn xxxx;

  recover database until scn xxxx;

  recover database until sequence xx;恢復到哪個日志文件截止

  recover database until xx;恢復到哪個時間點

  此時數據文件頭上的scn會小於控制文件的scn號需要resetlogs才能打開數據庫

  alter database open resetlogs;

  當resetlogs打開後數據庫會重置redo日志redo文件也會重建控制文件的scn回退到與數據文件一致

  sys@ORCL> select * from v$log;

  GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME

  

                                   YES UNUSED                      

                                   YES UNUSED                      

                                   NO  CURRENT              

  resetlog的模式若為了恢復數據建議在其他機器上進行恢復然後同步到生產環境中

  當前狀態的在線重做日志文件丟失(不存在備份)

  需要不完全恢復原理就是使用數據庫備份恢復然後利用日志(重做日志和在線重做日志)恢復到最大的scn即當前狀態的在線重做日志的上一個

  已備份的日志截止scn

  最後需要recover database until cancel命令打開數據庫 即恢復到輸入cancel的那一刻

  通過

  alter database open resetlog;打開數據庫

  當非當前日志(狀態為inactive)丟失或損壞時不會影響數據庫因為事務都已經寫入數據庫

  alter database drop logfile group ;

  alter database clear logfile group ;

  alter database add logfile group F:\ORACLE\PRODUCT\\ORADATA\ORCL\REDOLOG size m;

  簡單測試了下當shutdown abort後數據庫不會做checkpoint所以日志文件狀態仍為active當active的非當前日志丟失後

  無法通過restore恢復恢復後仍會提示logfile不存在也無法drop掉提示實例恢復仍需要

  當resetlog恢復後resetlog備份集仍可以使用它會自動跳過resetlog之後的日志文件及使用resetlog之後重置的日志文件進行恢復

  當控制文件損壞恢復的方法有兩種

  利用trace語句備份的控制文件進行恢復

  alter database backup controlfile to trace as c:\atxt;生成控制文件的備份至c盤的atxt文件

  alter database backup controlfile to trace as c:\atxt resetlogs;生成resetlog模式的控制信息

  alter database backup controlfile to trace as c:\atxt noresetlogs;生成noresetlog模式的控制信息

  NORESETLOGS選項生成的控制文件語句僅僅用在 當前版本的在線日志是可用的狀態

  RESTLOGS選項用在在線日志不可用的狀態

  alter database backup control file to trace;備份到控制文件到trace文件中

  生成的trace文件信息如下:

  STARTUP NOMOUNT  nomount狀態打開數據庫因為控制文件損壞

  CREATE CONTROLFILE REUSE DATABASE ORCL NORESETLOGS  ARCHIVELOG

  MAXLOGFILES    最大日志文件數

  MAXLOGMEMBERS 日志文件的鏡像最多有三個此參數在g不起作用限制不住

  MAXDATAFILES 控制文件預留的空間大小要能保留個數據文件的記錄當增大此數會自動增加控制文件的大小

  MAXINSTANCES 最大的實例個數實際上可以超過

  MAXLOGHISTORY 日志的歷史的條數限制

  LOGFILE 日志文件

  GROUP (

  F:\ORACLE\PRODUCT\\ORADATA\ORCL\REDOLOG

  F:\ORACLE\PRODUCT\\ORADATA\ORCL\LOG\REDOLOG

  ) SIZE M

  GROUP F:\ORACLE\PRODUCT\\ORADATA\ORCL\REDOLOG  SIZE M

  GROUP F:\ORACLE\PRODUCT\\ORADATA\ORCL\REDOLOG  SIZE M

  DATAFILE

  F:\ORACLE\PRODUCT\\ORADATA\ORCL\SYSTEMDBF

  F:\ORACLE\PRODUCT\\ORADATA\ORCL\UNDOTBSDBF

  F:\ORACLE\PRODUCT\\ORADATA\ORCL\SYSAUXDBF

  F:\ORACLE\PRODUCT\\ORADATA\ORCL\USERSDBF

  F:\ORACLE\PRODUCT\\ORADATA\ORCL\EXAMPLEDBF

  F:\ORACLE\PRODUCT\\ORADATA\ORCL\TESTDBF

  CHARACTER SET ZHSGBK 字符集

  ;

  select * from $archived_log;歸檔日志的信息

  select * from v$log_history;日志i切換就記錄當非歸檔模式也可以從此查看

  創建日志鏡像

  alter database add logfile member F:\oracle\product\\oradata\orcl\LOG\redolog to group ;

  當增加數據文件或者增加日志文件時建議通過trace的方式備份下控制文件

  利用rman catalog模式下恢復控制文件

  只能啟動到nomount狀態控制文件損壞Oracle無法判斷其target DB因為一個catalog DB對應多個target DB

  需要通過DBID告訴Oracle需要恢復那個target DB

  rman target sys/system@orcl catalog rman/rman@test

  set dbid=xxxxxxxx

  list backup of controlfile;

  restore controlfileOracle通過以下參數尋找恢復控制文件的位置 show parameter control_files

  恢復後啟動到mount狀態會發現控制文件的checkpoint_change#比數據文件的checkpoint_change#小

  需要以下命令進行啟動

  recover database using backup controlfile;告訴Oracle此控制文件是舊的

  auto輸入autoOracle會自動根據備份的archive log進行恢復但不是真正恢復應該是Oracle內部在做檢查

  直到恢復到當前聯機日志提示找不到備份文件這是因為控制文件損壞Oracle不知道這些信息

  再次輸入

  recover database using backup controlfile;

  需要手工指定當前聯機日志文件的位置

  F:\oracle\product\\oradata\orcl\REDOLOG

  最後輸入以下命令打開數據庫

  alter database open with resetlogs;

  一致性備份指冷備份shutdown之後的os copy

  select

  * from v$flash_recovery_area_usage;

  閃回恢復區存放以下幾類文件

  控制文件(CONTROL FILE AUTOBACKUP)

  在線日志

  歸檔日志

  rman 備份片

  rman image copy 備份(COPY DATAFILE to C:\xxdbf)

  閃回日志

  show parameter db_recovery;

  select * from v$flash_recovery_area_usage;

  監控閃回恢復區的大小

  數據庫失敗的類型

  實例失敗

  數據庫失敗 媒介失敗


From:http://tw.wingwit.com/Article/program/Oracle/201311/18434.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.