一個備份集同時恢出dataguard的主庫&備庫
----------源庫rman備份---------------------- RMAN> backup as compressed backupset database format '/mnt/rmanm/wholem_%d_%U'; 生成:wholem_MSCDB_02ovel9i_1_1/wholem_MSCDB_03ovelef_1_1/wholem_MSCDB_04ovetlg_1_1 RMAN> backup current controlfile format '/mnt/rmanm/ctl_%d_%U'; 生成:ctl_MSCDB_05ovev9f_1_1 backup archivelog all format '/mnt/rmanm/arch_%d_%U'; 生成:arch_MSCDB_07ovevel_1_ backup current controlfile format '/mnt/rmanm/ctl_%d_%U'; 生成:ctl_MSCDB_08ovevfk_1_1 BS Key Size Device Type Elapsed Time Completion Time ------- ---------- ----------- ------------ --------------- 6 1.48M DISK 00:00:00 31-JAN-14 BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20140131T135949 Piece Name: /mnt/rmanm/arch_MSCDB_07ovevel_1_1 List of Archived Logs in backup set 6 Thrd Seq Low SCN Low Time Next SCN Next Time ---- ------- ---------- --------- ---------- --------- 1 31227 194125679 31-JAN-14 194126673 31-JAN-14 1 31228 194126673 31-JAN-14 194127437 31-JAN-14 1 31229 194127437 31-JAN-14 194127886 31-JAN-14 1 31230 194127886 31-JAN-14 194128361 31-JAN-14 1 31231 194128361 31-JAN-14 194128820 31-JAN-14 1 31232 194128820 31-JAN-14 194129424 31-JAN-14 1 31233 194129424 31-JAN-14 194129980 31-JAN-14 1 31234 194129980 31-JAN-14 194130514 31-JAN-14 1 31235 194130514 31-JAN-14 194131079 31-JAN-14 1 31236 194131079 31-JAN-14 194131303 31-JAN-14 1 31237 194131303 31-JAN-14 194131324 31-JAN-14 BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 7 Full 13.61M DISK 00:00:02 31-JAN-14 BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20140131T140020 Piece Name: /mnt/rmanm/ctl_MSCDB_08ovevfk_1_1 Control File Included: Ckp SCN: 194131352 Ckp time: 31-JAN-14 -----------------主庫-------------------- 1.恢控制檔案 sql>startup nomount; RMAN>restore controlfile from '/mnt/rmanm/ctl_MSCDB_05ovev9f_1_1'; 2.恢資料檔案 RMAN>sql 'alter database mount'; run{ set NEWNAME for datafile 1 to '+DATADG/MSCDB/data/1-system01.dbf'; set NEWNAME for datafile 2 to '+DATADG/MSCDB/data/2-sysaux01.dbf'; set NEWNAME for datafile 3 to '+DATADG/MSCDB/data/3-undotbs01.dbf'; 。。。 set NEWNAME for datafile 54 to '+DATADG/MSCDB/data/54-CBMS_DATA0103.ora'; restore database; set NEWNAME for datafile 1 to '+DATADG/MSCDB/data/1-system01.dbf'; set NEWNAME for datafile 2 to '+DATADG/MSCDB/data/2-sysaux01.dbf'; set NEWNAME for datafile 3 to '+DATADG/MSCDB/data/3-undotbs01.dbf'; 。。。 set NEWNAME for datafile 54 to '+DATADG/MSCDB/data/54-CBMS_DATA0103.ora'; switch datafile all; recover database; } 找不到歸檔31227#, 3.恢歸檔 sql>shutdown immediate; cp control01.ctl control01.ctl.bak cp control02.ctl control02.ctl.bak cp control03.ctl control03.ctl.bak sql>startup nomount; RMAN>restore controlfile from '/mnt/rmanm/ctl_MSCDB_08ovevfk_1_1 '; RMAN>restore archivelog from sequence = 31227 until sequence = 31235; ------------腦子暈了 明明是31237阿。為啥寫31235呢。悲劇 sql>shutdown immediate; cp control01.ctl control01.ctlnew cp control01.ctlbak control01.ctl cp control02.ctl control02.ctlnew cp control02.ctlbak control02.ctl cp control03.ctl control03.ctlnew cp control03.ctlbak control03.ctl 4.recover啟庫 sql>recover database using backup controlfile until cancel; auto select name from v$tempfile; select member from v$logfile; alter database rename file '/oradata/MSCDB/temp01.dbf' to '+DATADG/MSCDB/data/temp01.dbf'; alter database rename file '/oradata/MSCDB/redo01.log' to '+DATADG/MSCDB/redo_a/redo01.log'; alter database rename file '/oradata/MSCDB/redo02.log' to '+DATADG/MSCDB/redo_a/redo02.log'; alter database rename file '/oradata/MSCDB/redo03.log' to '+DATADG/MSCDB/redo_a/redo03.log'; ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('+DATADG/MSCDB/redo_a/standby_redo4.log') SIZE 200M; ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('+DATADG/MSCDB/redo_a/standby_redo5.log') SIZE 200M; ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('+DATADG/MSCDB/redo_a/standby_redo6.log') SIZE 200M; ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ('+DATADG/MSCDB/redo_a/standby_redo7.log') SIZE 200M; alter database open resetlogs; ------------------備庫------------------- 1,2和主庫一樣 1.恢控制檔案 sql>startup nomount; RMAN>restore controlfile from '/mnt/rmanm/ctl_MSCDB_05ovev9f_1_1'; 2.恢資料檔案 RMAN>sql 'alter database mount'; run{ set NEWNAME for datafile 1 to '+DATADG/MSCDB/data/1-system01.dbf'; set NEWNAME for datafile 2 to '+DATADG/MSCDB/data/2-sysaux01.dbf'; set NEWNAME for datafile 3 to '+DATADG/MSCDB/data/3-undotbs01.dbf'; 。。。 set NEWNAME for datafile 54 to '+DATADG/MSCDB/data/54-CBMS_DATA0103.ora'; restore database; set NEWNAME for datafile 1 to '+DATADG/MSCDB/data/1-system01.dbf'; set NEWNAME for datafile 2 to '+DATADG/MSCDB/data/2-sysaux01.dbf'; set NEWNAME for datafile 3 to '+DATADG/MSCDB/data/3-undotbs01.dbf'; 。。。 set NEWNAME for datafile 54 to '+DATADG/MSCDB/data/54-CBMS_DATA0103.ora'; switch datafile all; recover database; } --------------------------分析------------------------------------------------- 備庫網路相當好,速度是主庫的20倍,導致 備庫的資料檔案比主庫更早恢復好。 主庫完工的時候,備庫後面的歸檔都自動傳了。非常詭異已經應用到31237了(這是為什麼呢?!)。兩邊不一致了, 備庫在分岔路口不知道要應用哪個歸檔了。 31234 31235 31236 __________________________________31237備庫 ·\__________________ 1 2 3 4 主庫 ——————————————————————————備庫正確操作------------------------------------------ 1.恢控制檔案 sql>startup nomount; RMAN>restore standby controlfile from '/mnt/rmanm/ctl_MSCDB_05ovev9f_1_1'; 2.恢資料檔案 RMAN>sql 'alter database mount'; run{ set NEWNAME for datafile 1 to '+DATADG/MSCDB/data/1-system01.dbf'; set NEWNAME for datafile 2 to '+DATADG/MSCDB/data/2-sysaux01.dbf'; set NEWNAME for datafile 3 to '+DATADG/MSCDB/data/3-undotbs01.dbf'; 。。。 set NEWNAME for datafile 54 to '+DATADG/MSCDB/data/54-CBMS_DATA0103.ora'; restore database; set NEWNAME for datafile 1 to '+DATADG/MSCDB/data/1-system01.dbf'; set NEWNAME for datafile 2 to '+DATADG/MSCDB/data/2-sysaux01.dbf'; set NEWNAME for datafile 3 to '+DATADG/MSCDB/data/3-undotbs01.dbf'; 。。。 set NEWNAME for datafile 54 to '+DATADG/MSCDB/data/54-CBMS_DATA0103.ora'; switch datafile all; --recover database; 這句去掉,防止發生詭異問題 } recover報錯找不到歸檔31227# 3.追resetlogs之前的歸檔 sql>shutdown immediate; sql>startup nomount; RMAN>restore controlfile from '/mnt/rmanm/ctl_MSCDB_08ovevfk_1_1 '; RMAN>restore archivelog from sequence = 31227 until sequence = 31235; 應用缺失的歸檔進行恢復: sql>recover automatic standby database; auto追至31235,尋找31236。。不能讓它找到哦,要和做了resetlog的主庫一樣再從1開始。那麼就用主庫的控制檔案。 4. 追resetlogs之後的歸檔 sql>shutdown immediate; sql>startup nomount; 把主庫的控制檔案備份出來 RMAN>backup current controlfile; 在備庫上恢復 RMAN>restore standby controlfile from '/oracle/app/oracle/product/11.2.0/dbs/07otonhb_1_1'; 再做sql>recover automatic standby database; 果然開始從1開始了,大功快告成了! 把主庫歸檔備份出來 RMAN>backup archivelog from sequence = 1 until sequence = 104; 在備庫上恢復 RMAN>catalog start with '/oracle/app/oracle/product/11.2.0/dbs'; RMAN>restore archivelog from sequence = 1 until sequence = 104; 再做sql>recover automatic standby database; 刷的就追完了,和主庫一樣了。 5.開啟實時應用 sql>alter database recover managed standby database using current logfile disconnect from session; 在主庫切幾個歸檔alter system switch logfile; select thread#,sequence#,applied from v$archived_log order by 2; 看到都及時應用了。done!
過程有點坎坷。但證明一個備份集可以恢出主備兩個庫來的,即使主庫做了resetlog。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7590112/viewspace-1070201/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- dataguard 主備庫出現gap
- 主庫模型調整需要做一個全庫備份,備份與恢復指令碼模型指令碼
- RMAN備份之備份多個備份集到帶庫(一)
- 【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫(一)
- Oracle10G Dataguard 多個備庫 - 主庫和物理備庫的切換Oracle
- 【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫(二)
- 【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫 (三)
- 利用innobackupex備份集恢復指定庫
- RMAN備份之備份多個備份集到帶庫(三)
- RMAN備份之備份多個備份集到帶庫(二)
- RMAN備份恢復整個庫
- RMAN備份多個備份集到帶庫的小bug
- 備份與恢復--一個表空間能否被多個資料庫同時開啟?資料庫
- 【備份恢復】從備份恢復資料庫資料庫
- rman給歸檔指定備份位置;庫先備份盤同時到帶庫;更改控制檔案自備路徑;時間點的恢復
- DataGuard主備庫切換步驟
- RMAN備份恢復——備份到帶庫的效能
- RMAN備份恢復——RAC環境資料庫的備份(一)資料庫
- 主庫RAC,備庫單節點ASM的dataguard搭建ASM
- 【DATAGUARD 學習】管理影響備庫的主庫事件事件
- NoSQL 資料庫的主主備份SQL資料庫
- 備庫的切換狀態為SWITCHOVER PENDING時進行dataguard主備庫角色切換
- 【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫 (四)--新增一個物理dg節點
- 在DG備庫備份資料庫並恢復到一個主機上,報錯RMAN-06820資料庫
- RMAN備份恢復——備份到帶庫的效能(二)
- 備份主備庫都能用的指令碼(zt)指令碼
- 【DataGuard】使用GC建立的物理DataGuard主備庫pfile比較GC
- dataguard備庫出現GAP修復
- DataGuard切換(主庫為Rac+備庫為Rac)
- oracle 之dataguard主庫系統崩潰之物理備庫切主庫Oracle
- 課時7-備份與恢復----資料庫備份策略指令碼資料庫指令碼
- 備份與恢復:polardb資料庫備份與恢復資料庫
- BMMySQL定時備份資料庫(全庫備份)的實現meuMySql資料庫
- 【DATAGUARD】手工恢復備庫日誌中斷
- 從dataguard備份的恢復機制
- Oracle12c多租戶資料庫備份與恢復 - 僅備份一個PDB資料庫Oracle資料庫
- 資料庫的備份與恢復資料庫
- 【備份恢復】下:還原和恢復資料庫(即將一個庫還原到另外一個庫)資料庫