ORACLE 10G跨RESERLOGS及list incarnation
學習筆記
也許大家都知道在ORACLE中如果執行了不完全恢復當前的日誌檔案是不能在使用的,所以我們必須使用RESETLOGS選項來開啟資料庫。9I的時候要求我們不然全恢復過後需要馬上進行一次全備,也就是代表一個incarnation已經結束新的incarnation來臨,老的incarnation裡面的所有備份集是不能在新的incarnation中使用的(incarnation可以翻譯為化身),但是10G 突破了這樣的限制,在我看來新的incarnation不能使用老的incarnation的備份集是應當所以的,不過10G的這點突破也是一個很大進步了,那啥叫incarnation,其實很簡單一個RESETLOGS後就會出現新的incarnation,表示RMAN備份一個時代的結束。下面做下試驗,證明這兩點。
RMAN> list incarnation;
正在使用目標資料庫控制檔案替代恢復目錄
資料庫原型列表
DB 關鍵字 Inc 關鍵字 DB 名 DB ID STATUS 重置 SCN 重置時間
------- ------- -------- ---------------- --- ---------- ----------
1 1 PP 2624386947 PARENT 1 09-3月 -04
2 2 PP 2624386947 CURRENT 318842 08-1月 -09
SQL> create table test
2 as
3 select * from dba_users;
RMAN> list archivelog all;
已存檔的日誌副本列表
關鍵字 Thrd Seq S 短時間 名稱
------- ---- ------- - ---------- ----
1 1 6 A 08-1月 -09 E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00006_0
675595140.001
2 1 7 A 08-1月 -09 E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00007_0
675595140.001
3 1 8 A 08-1月 -09 E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00008_0
675595140.001
做全備
RMAN> backup format 'e:\data\data_%s_%p_%T.bak'
2> database plus archivelog delete all input
3> format 'e:\arc\arc_%s_%p_%T.bak'
4> ;
啟動 backup 於 08-1月 -09
當前日誌已存檔
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在啟動存檔日誌備份集
通道 ORA_DISK_1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =11 記錄 ID=6 時間戳=675602823
輸入存檔日誌執行緒 =1 序列 =12 記錄 ID=7 時間戳=675602826
輸入存檔日誌執行緒 =1 序列 =13 記錄 ID=8 時間戳=675602829
輸入存檔日誌執行緒 =1 序列 =14 記錄 ID=9 時間戳=675602830
輸入存檔日誌執行緒 =1 序列 =15 記錄 ID=10 時間戳=675602831
輸入存檔日誌執行緒 =1 序列 =16 記錄 ID=11 時間戳=675602832
輸入存檔日誌執行緒 =1 序列 =17 記錄 ID=12 時間戳=675602865
通道 ORA_DISK_1: 正在啟動段 1 於 08-1月 -09
通道 ORA_DISK_1: 已完成段 1 於 08-1月 -09
段 handle=E:\ARC\ARC_5_1_20090108.BAK comment=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:02
通道 ORA_DISK_1: 正在刪除存檔日誌
存檔日誌檔名 =E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00011_0675595140.001
ID=6 時間戳 =675602823
存檔日誌檔名 =E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00012_0675595140.001
ID=7 時間戳 =675602826
存檔日誌檔名 =E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00013_0675595140.001
ID=8 時間戳 =675602829
存檔日誌檔名 =E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00014_0675595140.001
ID=9 時間戳 =675602830
存檔日誌檔名 =E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00015_0675595140.001
ID=10 時間戳 =675602831
存檔日誌檔名 =E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00016_0675595140.001
ID=11 時間戳 =675602832
存檔日誌檔名 =E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00017_0675595140.001
ID=12 時間戳 =675602865
完成 backup 於 08-1月 -09
啟動 backup 於 08-1月 -09
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
輸入資料檔案 fno=00001 name=E:\ORACLE\PRODUCT\10.1.0\ORADATA\PP\SYSTEM01.DB
輸入資料檔案 fno=00003 name=E:\ORACLE\PRODUCT\10.1.0\ORADATA\PP\SYSAUX01.DB
輸入資料檔案 fno=00002 name=E:\ORACLE\PRODUCT\10.1.0\ORADATA\PP\UNDOTBS01.D
輸入資料檔案 fno=00004 name=E:\ORACLE\PRODUCT\10.1.0\ORADATA\PP\USERS01.DBF
通道 ORA_DISK_1: 正在啟動段 1 於 08-1月 -09
通道 ORA_DISK_1: 已完成段 1 於 08-1月 -09
段 handle=E:\DATA\DATA_6_1_20090108.BAK comment=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:05:28
通道 ORA_DISK_1: 啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
備份集中包括當前控制檔案
在備份集中包含當前的 SPFILE
通道 ORA_DISK_1: 正在啟動段 1 於 08-1月 -09
通道 ORA_DISK_1: 已完成段 1 於 08-1月 -09
段 handle=E:\DATA\DATA_7_1_20090108.BAK comment=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:03
完成 backup 於 08-1月 -09
啟動 backup 於 08-1月 -09
當前日誌已存檔
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在啟動存檔日誌備份集
通道 ORA_DISK_1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =18 記錄 ID=13 時間戳=675603199
通道 ORA_DISK_1: 正在啟動段 1 於 08-1月 -09
通道 ORA_DISK_1: 已完成段 1 於 08-1月 -09
段 handle=E:\ARC\ARC_8_1_20090108.BAK comment=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:02
通道 ORA_DISK_1: 正在刪除存檔日誌
存檔日誌檔名 =E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00018_0675595140.001
ID=13 時間戳 =675603199
完成 backup 於 08-1月 -09
進行不完全恢復
RMAN> alter database open resetlogs;
資料庫已開啟
RMAN> list incarnation;
資料庫原型列表
DB 關鍵字 Inc 關鍵字 DB 名 DB ID STATUS 重置 SCN 重置時間
------- ------- -------- ---------------- --- ---------- ----------
1 1 PP 2624386947 PARENT 1 09-3月 -04
2 2 PP 2624386947 PARENT 318842 08-1月 -09
3 3 PP 2624386947 CURRENT 335281 08-1月 -09
然後我們看到化身增加了。
然後建立TEST10表
create table test10
as
select * from dba_users;
不完全恢復我沒有程式備份
然後再來一次恢復
RMAN> restore database;
啟動 restore 於 08-1月 -09
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=160 devtype=DISK
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00001恢復到E:\ORACLE\PRODUCT\10.1.0\ORADATA\PP\SYSTEM01.DBF
正將資料檔案00002恢復到E:\ORACLE\PRODUCT\10.1.0\ORADATA\PP\UNDOTBS01.DBF
正將資料檔案00003恢復到E:\ORACLE\PRODUCT\10.1.0\ORADATA\PP\SYSAUX01.DBF
正將資料檔案00004恢復到E:\ORACLE\PRODUCT\10.1.0\ORADATA\PP\USERS01.DBF
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = E:\DATA\DATA_2_1_20090108.BAK 標記 = TAG20090108T112325
通道 ORA_DISK_1: 恢復完成
完成 restore 於 08-1月 -09
RMAN> recover database;
啟動 recover 於 08-1月 -09
使用通道 ORA_DISK_1
正在開始介質的恢復
存檔日誌執行緒 1 序列 1 已作為檔案 E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00001_
75604590.001 存在於磁碟上
存檔日誌執行緒 1 序列 2 已作為檔案 E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00002_
75604590.001 存在於磁碟上
存檔日誌執行緒 1 序列 3 已作為檔案 E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00003_
75604590.001 存在於磁碟上
存檔日誌執行緒 1 序列 4 已作為檔案 E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00004_
75604590.001 存在於磁碟上
存檔日誌執行緒 1 序列 5 已作為檔案 E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00005_
75604590.001 存在於磁碟上
存檔日誌執行緒 1 序列 6 已作為檔案 E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00006_
75604590.001 存在於磁碟上
存檔日誌檔名 =E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00001_0675604590.001 線
=1 序列 =1
存檔日誌檔名 =E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00002_0675604590.001 線
=1 序列 =2
存檔日誌檔名 =E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00003_0675604590.001 線
=1 序列 =3
存檔日誌檔名 =E:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ARC00004_0675604590.001 線
=1 序列 =4
完成介質的恢復
完成 recover 於 08-1月 -09
OK 我使用的是老的化身的備份集,恢復到了新的化身。
RMAN> list incarnation
2> ;
資料庫原型列表
DB 關鍵字 Inc 關鍵字 DB 名 DB ID STATUS 重置 SCN 重置時間
------- ------- -------- ---------------- --- ---------- ----------
1 1 PP 2624386947 PARENT 1 09-3月 -04
2 2 PP 2624386947 PARENT 318842 08-1月 -09
3 3 PP 2624386947 CURRENT 335281 08-1月 -09
結論 :1、 新的incarnation在RESERTLOGS後出現。
2、10G恢復可以跨RESETLOGS點,也就是跨 incarnation;
如果有錯誤請指出 THX
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-531811/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LIST INCARNATION OF DATABASE含義Database
- oracle 10g跨越resetlogs恢復-incarnationOracle 10g
- List Incarnation 語法含義
- Oracle rman incarnationOracle
- Oracle 10g RAC跨例項控制並行Oracle 10g並行
- Oracle穿越incarnation恢復資料Oracle
- 通過reset incarnation實現跨resetlogs的恢復
- Oracle 10g 跨平臺傳輸 相容平臺列表Oracle 10g
- oracle 10g RMAN備份及恢復Oracle 10g
- Oracle 10g Logminer 研究及測試Oracle 10g
- 10g Oracle檔案及目錄介紹Oracle
- Oracle 10g 邏輯Standby 建立及注意點Oracle 10g
- RMAN-20207報錯,使用list incarnation解決一例。
- Oracle 10g同位元組序跨平臺遷移的測試Oracle 10g
- oracle 10g dataguard 安裝配置說明及原理Oracle 10g
- [zt] ORACLE 10g中ASMCMD使用及ASM檔案Oracle 10gASM
- oracle 10G設定歸檔目錄及命令Oracle 10g
- Oracle 10g RAC正常關閉及啟動順序Oracle 10g
- Oracle 10g 安裝及單例項遷移到RACOracle 10g單例
- ORACLE 10g R2及PATH官方下載地址Oracle 10g
- Oracle Performance Top Issue listOracleORM
- ORACLE 10g下載|ORACLE 10g下載地址|ORACLE 10g官網下載地址Oracle 10g
- oracle 10g 增強審計。表insert 及bind valuesOracle 10g
- Redis之list型別及操作Redis型別
- reset incarnation的分析之一
- 10g跨平臺傳輸表空間
- oracle 10g patchOracle 10g
- ORACLE 10G AUTOTRACEOracle 10g
- oracle asm 10gOracleASM
- recyclebin for oracle 10gOracle 10g
- Oracle 10g flashbackOracle 10g
- Glossary Oracle 10gOracle 10g
- oracle 10g在linux下的安裝及簡單命令Oracle 10gLinux
- Oracle 9i和10G軟體及補丁下載地址Oracle
- Oracle 10g RAC 安裝及加入新節點文件密碼Oracle 10g密碼
- oracle 10g 中的靜態及動態註冊問題Oracle 10g
- C++中list的使用方法及常用list操作總結C++
- 跨域共享CORS詳解及Gin配置跨域跨域CORS