oracle 10g跨越resetlogs恢復-incarnation
Oracle
下面用下列測試來說明下:
SQL> create table incarnation_tab01(id number);
Table created
SQL> declare
2 begin
3 for i in 1..10 loop
4 insert into incarnation_tab01 select dbms_flashback.get_system_change_number from dual;
5 commit;
6 end loop;
7 end;
8 /
PL/SQL procedure successfully completed
SQL> select * from incarnation_tab01;
ID
----------
1881030
1881031
1881032
1881033
1881034
1881035
1881036
1881037
1881038
1881039
10 rows selected
RMAN> run{
2> startup mount force;
3> set until scn 1881034
4> restore database;
5> recover database;
6> alter database open resetlogs;
7> }
Oracle 例項已啟動
資料庫已裝載
系統全域性區域總計 373293056 位元組
Fixed Size 1249080 位元組
Variable Size 159383752 位元組
Database Buffers 209715200 位元組
Redo Buffers 2945024 位元組
正在執行命令: SET until clause
啟動 restore 於 26-12月-11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
。。。。。。
通道 ORA_DISK_1: 正在讀取備份段 D:ORACLEFULLBACKUP_XIAOYU_20111226_29
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = D:ORACLEFULLBACKUP_XIAOYU_20111226_29 標記 = TAG20111226T092719
通道 ORA_DISK_1: 恢復完成, 用時: 00:01:45
完成 restore 於 26-12月-11
啟動 recover 於 26-12月-11
使用通道 ORA_DISK_1
正在開始介質的恢復
存檔日誌執行緒 1 序列 17 已作為檔案 D:ORACLEPRODUCT
IAOYUARCHIVELOGARC00017_0770468700.001 存在於磁碟上
。。。。。。
介質恢復完成, 用時: 00:00:02
完成 recover 於 26-12月-11
資料庫已開啟
SQL> select * from incarnation_tab01;
ID
----------
1881030
1881031
1881032
1881033
此時資料庫執行的是不完全恢復然後resetlogs開啟。然後再次insert 10條資料
SQL> declare
2 begin
3 for i in 1..10 loop
4 insert into incarnation_tab01 select dbms_flashback.get_system_change_number from dual;
5 commit;
6 end loop;
7 end;
8 /
PL/SQL procedure successfully completed
SQL> select * from incarnation_tab01;
ID
----------
1881030
1881031
1881032
1881033
1883530
1883532
1883534
1883536
1883537
1883538
1883539
1883540
1883541
1883542
如果此時想恢復不完全恢復resetlogs之前的1881038階段。
RMAN> run{
2> startup mount force;
3> set until scn 1881038
4> restore database;
5> recover database;
6> alter database open resetlogs;
7> }
此時是無法恢復的,部分rman資訊
RMAN-03002: set 命令 (在 12/26/2011 10:30:24 上) 失敗
RMAN-20208: UNTIL CHANGE is before RESETLOGS change
恢復在上一個resetlogs開啟之前,rman無法只利用resetlogs開啟之後的archivelog和redo來恢復,需要resetlogs之前的archivelog。
RMAN> list incarnation;
資料庫原型列表
DB 關鍵字 Inc 關鍵字 DB 名 DB ID STATUS 重置 SCN 重置時間
------- ------- -------- ---------------- --- ---------- ----------
1 1 XIAOYU 628569583 PARENT 1861053 10-10月 -11
2 2 XIAOYU 628569583 CURRENT 1881035 26-12月-11
Rman>run{
Reset database to incarnation 21;
Set until scn 1861053;
Restore database;
Recover database;
Alter database open resetlogs;
}
…..
完成 restore 於 26-12月-11
正在開始介質的恢復
介質恢復完成, 用時: 00:00:05
完成 recover 於 26-12月-11
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1056951/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 10g r2新功能可以跨越resetlogs 恢復Oracle 10g
- 通過reset incarnation實現跨resetlogs的恢復
- Oracle穿越incarnation恢復資料Oracle
- Oracle10g版本之前及之後跨越resetlogs進行恢復的問題Oracle
- Oracle資料庫恢復之resetlogsOracle資料庫
- oracle實驗記錄 (恢復-使用resetlogs open前備份恢復)Oracle
- rman 穿越incarnation恢復資料
- Oracle 10G恢復實戰Oracle 10g
- open resetlogs後資料恢復資料恢復
- Oracle 10G恢復實戰1Oracle 10g
- oracle用備份的控制檔案恢復後不用resetlogs開啟方式的恢復Oracle
- ORACLE 10G跨RESERLOGS及list incarnationOracle 10g
- oracle 10g RMAN備份及恢復Oracle 10g
- 有關resetlogs和incarnation關係的理解
- Oracle資料恢復:強制Resetlogs的可能資料損失Oracle資料恢復
- 10可以穿越resetlogs恢復資料庫!資料庫
- rman通過之前的incarnation恢復資料庫!資料庫
- Oracle 10G RAC的ocr備份恢復Oracle 10g
- 恢復控制檔案避免使用resetlogs選項
- RMAN深入解析之--Incarnation應用(不完全恢復)
- Oracle 10g使用RMAN恢復目錄筆記Oracle 10g筆記
- ORACLE 10g 中恢復已刪除的表Oracle 10g
- 使用RESETLOGS重建控制檔案恢復資料庫資料庫
- 資料庫resetlogs後進行rman恢復7資料庫
- 資料庫resetlogs後進行rman恢復6資料庫
- 資料庫resetlogs後進行rman恢復5資料庫
- 資料庫resetlogs後進行rman恢復4資料庫
- 資料庫resetlogs後進行rman恢復3資料庫
- 資料庫resetlogs後進行rman恢復2資料庫
- 資料庫resetlogs後進行rman恢復1資料庫
- 所有控制檔案損壞的恢復--resetlogs方式
- oracle 10g 第1章 配置恢復管理器Oracle 10g
- Oracle rman incarnationOracle
- 使用RESETLOGS重建控制檔案恢復資料庫(二)資料庫
- oracle實驗記錄 (oracle 10G dataguard(9)rman恢復與dg)Oracle
- Oracle為什麼使用備份的控制檔案恢復後一定要resetlogsOracle
- 缺少歸檔日誌,ORACLE資料庫恢復使用_allow_resetlogs_corruption引數Oracle資料庫
- 10G RMAN恢復新特性