如何理解rman中的incarnation

技术如何理解rman中的incarnation如何理解rman中的incarnation,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。inc

对于许多新手来说,如何理解rman中的化身并不是很清楚。为了帮助大家解决这个问题,下面小编就详细讲解一下。需要的人可以从中学习,希望你能有所收获。

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

那么它在甲骨文中是什么意思呢?效果如何?

让我们看看基本概念.

当前化身:数据库当前正在使用的化身。

父化身:数据库当前化身的前一个化身。使用OPEN RESETLOGS打开父头像后,将生成当前头像。

祖先化身:在父亲化身之前,转身生成父亲化身的每一个化身。

直接祖先路径(直接祖先路径/系谱):从数据库初始化身到当前化身的分支路径,包括数据库的祖先和父代化身。

孤儿化身:数据库中不在数据库中当前化身谱系中的其他化身。

孤立备份:在不是数据库当前化身的系谱上生成的数据库备份。当前头像无法制作

首先,我们可以看一张图片对化身有一个基本的了解。

如何理解rman中的incarnation

如何理解rman中的incarnation

如图,从SCN1到SCN1000的过程中,数据库属于化身1,水平方向已经发展到SCN 2000,部分恢复到SCN 1000。此时是水平方向SCN1000到SCN2000之后(孤儿化身)。而SCN1000发展到SCN2000以上形成化身2。化身1是化身2的化身。

但当SCN2000继续向上发展到SCN3000时,并没有完全恢复到SCN2000,SCN2000继续水平发展到SCN3000,形成化身3。所以化身1就是化身3(祖先的化身),化身2就是化身1(祖先的化身)。

从化身1到化身3的所有灰色轨迹都是直接祖先路径。

化身1中SCN 1000之后的所有备份以及化身2中SCN 2000之后的所有备份都是孤立备份。

从那以后,你应该可以对化身有一个大致的了解。

下面我们来通过实验来了解下

RMAN备份为压缩备份数据库加上归档日志删除所有输入;

RMAN榜化身;

数据库化身列表

数据库密钥公司密钥数据库名称数据库标识状态重置SCN重置时间

- - - - - - -

1 1 ORCL 1446008355 PARENT 1 18-SEP-11

2 2 ORCL 1446008355 PARENT 787897 26-JUL-16

3 3 ORCL 14

46008355       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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/126267.html

(0)

相关推荐

  • 如何用Python分析热门夺冠球队

    技术如何用Python分析热门夺冠球队如何用Python分析热门夺冠球队,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。2018年,火热的世界杯即将拉开序

    攻略 2021年10月29日
  • 草房子第一章主要内容,草房子第一篇的感想300字

    技术草房子第一章主要内容,草房子第一篇的感想300字最近,我读了《草房子》这本书,它里面的内容深深地感动了我. 一个叫作油麻地的乡村小学校给男孩桑桑留下了快乐又难忘的童年记忆——天生秃顶的秃鹤出于对尊严的执著坚守,而演出

    生活 2021年10月30日
  • 马克笔画风景,请问一般初一要用马克笔吗

    技术马克笔画风景,请问一般初一要用马克笔吗自来水笔也叫钢笔马克笔画风景。不过自来水笔,还有一种是水粉自来水笔,适用于创作绘画的,不知道你说的是哪一种,我个人比较喜欢水粉自来水笔,因为他好控制。马克笔上色会容易脏,而且复涂

    生活 2021年10月23日
  • 鼠标指针怎么换,Cursosr怎么换鼠标指

    技术鼠标指针怎么换,Cursosr怎么换鼠标指打开控制面板,双击“鼠标”,选择“指针”选项卡鼠标指针怎么换。可以更改方案,或者选中下面的某一状态,点击“浏览”,选择一个鼠标图片即可。
    但所有的鼠标的图片格式都是.cur的

    生活 2021年10月30日
  • 常用语法及示例

    技术常用语法及示例 常用语法及示例接口测试常用库:
    RequestsLibraryCollectionsJSONLibraryHttpLibrary.HTTP
    Set Global Variable
    使

    礼包 2021年11月30日
  • 大数据治理中如何搭建大数据探索平台

    技术大数据治理中如何搭建大数据探索平台这篇文章给大家介绍大数据治理中如何搭建大数据探索平台,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在数据治理中,数据探索服务的价值在初期往往是被忽视的,但是随着

    攻略 2021年12月10日