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資料庫恢復之resetlogsOracle資料庫
- 在rman恢復中incarnation的概念
- Oracle為什麼使用備份的控制檔案恢復後一定要resetlogsOracle
- RMAN深入解析之--Incarnation應用(不完全恢復)
- NBU恢復oracleOracle
- Oracle案例12——NBU Oracle恢復Oracle
- oracle冷備恢復Oracle
- oracle 異機恢復Oracle
- Oracle RMAN恢復測試Oracle
- Oracle 不完全恢復Oracle
- Oracle RushQL勒索病毒恢復方法Oracle
- Oracle 備份 與 恢復 概述Oracle
- Oracle 備份恢復之 FlashbackOracle
- Oracle恢復誤刪資料Oracle
- ORACLE備份&恢復案例(轉)Oracle
- oracle基於SCN增量恢復Oracle
- Oracle Redo丟失恢復方案Oracle
- Oracle RMAN 表空間恢復Oracle
- 備份與恢復oracle_homeOracle
- oracle 增量備份恢復驗證Oracle
- Oracle 備份和恢復介紹Oracle
- oracle使用小記、刪除恢復Oracle
- ORACLE備份&恢復案例三(轉)Oracle
- ORACLE備份&恢復案例二(轉)Oracle
- Networker恢復oracle rac到單機Oracle
- 【Oracle 恢復表空間】 實驗Oracle
- 兩篇oracle異機恢復文章Oracle
- ORACLE本地磁碟備份恢復Oracle
- oracle 10g flashback databaseOracle 10gDatabase
- 7_Oracle truncate異常恢復之plsql修復OracleSQL
- 6_Oracle truncate異常恢復之bbed修復Oracle
- Oracle 12c 備份與恢復Oracle
- Oracle資料庫冷備和恢復Oracle資料庫
- Oracle 備份恢復篇之RMAN catalogOracle
- ORACLE DG從庫 Rman備份恢復Oracle
- Oracle 檔案意外刪除恢復(Linux)OracleLinux
- Oracle & MySQL & PostgreSQL資料庫恢復支援OracleMySql資料庫
- Oracle asm磁碟損壞異常恢復OracleASM
- oracle asm 資料塊重構恢復OracleASM