久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何理解rman中的incarnation

147次閱讀
沒有評論

共計 5252 個字符,預計需要花費 14 分鐘才能閱讀完成。

如何理解 rman 中的 incarnation,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面丸趣 TV 小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

incarnation 在英文中是“化身”的意思。

那么在 oracle 中,它又是什么意思呢?有什么作用呢?

我們看一些基本概念

Current Incarnation(當前化身):數據庫當前正在使用的化身。

Parent Incarnation(父化身):數據庫當前化身的上一個化身。在父化身以 OPEN RESETLOGS 打開后,就生成當前化身。

Ancestor Incarnation(祖輩化身):在父化身之前,輾轉生成父化身的各個化身。

Direct Ancestral Path(直接祖輩路徑 / 宗譜):由數據庫的起始化身輾轉生成至當前化身的分支路徑,包含數據庫的歷代祖輩及父化身。

Orphan Incarnation(孤兒化身):不在數據庫當前化身的宗譜上的數據庫其它化身。

Orphaned Backups(孤兒備份):不是數據庫當前化身的宗譜上生成的數據庫備份。當前化身不能使

首先,我們可以來看一張圖,來對 incarnation 有個基本的了解

如圖,SCN1 到 SCN1000 過程中,數據庫屬于 incarnation 1,一直發展到橫向的 SCN 2000,做了不完全恢復到了 SCN 1000,此時 SCN1000 之后到橫向的 SCN2000 的便是(孤兒化身)。而 SCN1000 向上面的 SCN2000 發展形成 incarnation 2。incarnation 1 便是 incarnation 2 的(父輩化身)。

而 SCN2000 往上繼續發展到 SCN3000 時,又做了不完全恢復到 SCN2000,SCN2000 繼續橫向發展到 SCN3000,形成 incarnation 3. 所以 incarnation 1 便是 incarnation 3 的(祖輩化身),incarnation 2 便是 incarnation 1 的(祖輩化身)。

所有 incarnation 1 到 incarnation 3 的這條灰色軌跡便是 Direct Ancestral  Path。

Incarnation 1 中 SCN 1000 之后的所有備份 和 Incarnation 2 中 SCN 2000 之后的所有備份便是孤兒備份。

自此應該能夠對 Incarnation 又大概的了解了吧。

下面我們來通過實驗來了解下

RMAN backup as compressed backupset database plus archivelog delete all input;

RMAN list incarnation;

List of Database Incarnations

DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time

——- ——- ——– —————- — ———- ———-

1       1       ORCL     1446008355       PARENT  1          18-SEP-11

2       2       ORCL     1446008355       PARENT  787897     26-JUL-16

3       3       ORCL     1446008355       PARENT  885125     03-AUG-16

4       4       ORCL     1446008355       PARENT  886406     13-AUG-16

5       5       ORCL     1446008355       CURRENT 906785     15-AUG-16

[oracle@linfan ~]$ sqlplus / as sysdba

SQL grant dba to scott;

Grant succeeded.

SQL begin

for i in 1 .. 10 loop

insert into test  select current_scn from v$database;

commit;

end loop;

end;  2    3    4    5    6 

  7  /

SQL select * from test;

   CUR_SCN

———-

   1400123

   1400126

   1400129

   1400132

   1400135

   1400138

   1400141

   1400144

   1400147

   1400150

10 rows selected.

rman target /

RMAN run {

startup mount force;

set until scn 1400138;

restore database;

recover database;

alter database open resetlogs;

}

查看數據,發現還原成功

SQL select * from test;

   CUR_SCN

———-

   1400123

   1400126

   1400129

   1400132

   1400135

查看以下 incarnation

RMAN list incarnation  ;

List of Database Incarnations

DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time

——- ——- ——– —————- — ———- ———-

1       1       ORCL     1446008355       PARENT  1          18-SEP-11

2       2       ORCL     1446008355       PARENT  787897     26-JUL-16

3       3       ORCL     1446008355       PARENT  885125     03-AUG-16

4       4       ORCL     1446008355       PARENT  886406     13-AUG-16

5       5       ORCL     1446008355       PARENT  906785     15-AUG-16

6       6       ORCL     1446008355       CURRENT 1400139    05-DEC-16

發現誕生了 DB 為 6 的 incarnation,5 號已經成為 PARENT

再次執行之前的存儲過程

SQL select * from test;

   CUR_SCN

———-

   1400123

   1400126

   1400129

   1400132

   1400135

   1400972

   1400975

   1400978

   1400981

   1400984

   1400987

   CUR_SCN

———-

   1400990

   1400993

   1400995

   1400999

15 rows selected.

再次進行不完全恢復

RMAN run {

startup mount force;

set until scn 1400990;

restore database;

recover database;

alter database open resetlogs;

}

恢復成功,演化出了 DB 為 7 的 incarnation

RMAN list incarnation;

List of Database Incarnations

DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time

——- ——- ——– —————- — ———- ———-

1       1       ORCL     1446008355       PARENT  1          18-SEP-11

2       2       ORCL     1446008355       PARENT  787897     26-JUL-16

3       3       ORCL     1446008355       PARENT  885125     03-AUG-16

4       4       ORCL     1446008355       PARENT  886406     13-AUG-16

5       5       ORCL     1446008355       PARENT  906785     15-AUG-16

6       6       ORCL     1446008355       PARENT  1400139    05-DEC-16

7       7       ORCL     1446008355       CURRENT 1400991    05-DEC-16

查看 test 表

SQL select * from test;

   CUR_SCN

———-

   1400123

   1400126

   1400129

   1400132

   1400135

   1400972

   1400975

   1400978

   1400981

   1400984

   1400987

11 rows selected.

此時,我們若是想還原到 1400132 的狀態,可以實現嗎?
注:1400132 是 DB 為 5 的 incarnation 下的 SCN

 RMAN run {

startup mount force;

set until scn 1400132;

restore database;

recover database;

alter database open resetlogs;

}

很遺憾地,爆出了 RMAN-20208 的錯誤。

Starting restore at 05-DEC-16

using target database control file instead of recovery catalog

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of restore command at 12/05/2016 17:10:14

RMAN-20208: UNTIL CHANGE is before RESETLOGS change

那么怎么解決 RMAN-20208 的錯誤呢

要回到 DB 為 5 的 incarnation,再進行恢復

RMAN   reset database to incarnation 5;

database reset to incarnation 5

 RMAN run {

startup mount force;

set until scn 1400132;

restore database;

recover database;

alter database open resetlogs;

}

RMAN list incarnation;

List of Database Incarnations

DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time

——- ——- ——– —————- — ———- ———-

1       1       ORCL     1446008355       PARENT  1          18-SEP-11

2       2       ORCL     1446008355       PARENT  787897     26-JUL-16

3       3       ORCL     1446008355       PARENT  885125     03-AUG-16

4       4       ORCL     1446008355       PARENT  886406     13-AUG-16

5       5       ORCL     1446008355       PARENT  906785     15-AUG-16

8       8       ORCL     1446008355       CURRENT 1400133    05-DEC-16

6       6       ORCL     1446008355       ORPHAN  1400139    05-DEC-16

7       7       ORCL     1446008355       ORPHAN  1400991    05-DEC-16

SQL select * from test;

   CUR_SCN

———-

   1400123

   1400126

   1400129

由此可見,數據已經還原到之前狀態,演化出 DB 為 8 的化身,DB 為 6 和 7 的化身變成了孤兒化身(ORPHAN),數據庫恢復成功。

總結:如果想要恢復到之前 incarnation 的 scn,就需要先切換到之前的 incarnation

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注丸趣 TV 行業資訊頻道,感謝您對丸趣 TV 的支持。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-17發表,共計5252字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 五大连池市| 含山县| 银川市| 北碚区| 东阿县| 东方市| 米脂县| 册亨县| 通渭县| 巩留县| 邵东县| 瑞安市| 托里县| 嘉祥县| 留坝县| 东明县| 施秉县| 乌兰县| 无棣县| 绥阳县| 青海省| 陵川县| 永嘉县| 庐江县| 新沂市| 报价| 临江市| 北票市| 鸡东县| 满城县| 舟曲县| 肃南| 临泽县| 来宾市| 峨眉山市| 南昌县| 定南县| 申扎县| 海南省| 博客| 长兴县|