如何理解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)

相关推荐

  • sparc处理器(sparc处理器优点)

    技术如何实现sparc处理器浅析本篇文章为大家展示了如何实现sparc处理器浅析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.前言前几天我看到知乎上的一篇文章《时代的眼泪:繁

    攻略 2021年12月18日
  • 三明治的英语,我想要一个三明治用英语怎么说

    技术三明治的英语,我想要一个三明治用英语怎么说我想要一个三明治三明治的英语。I want a sandwich.Id like (to have) a sandwich = I would like (to have)

    生活 2021年10月25日
  • 我最喜欢的一本书英语作文,我最喜欢的故事书英语范文

    技术我最喜欢的一本书英语作文,我最喜欢的故事书英语范文My Favorite Book Harry Potter Do you know Harry Potter? Its one of my favorite read

    生活 2021年10月28日
  • BGP协议的广域网流量调度SDN控制器怎样在银行业部署实践

    技术BGP协议的广域网流量调度SDN控制器怎样在银行业部署实践本篇文章为大家展示了BGP协议的广域网流量调度SDN控制器怎样在银行业部署实践,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有

    攻略 2021年10月29日
  • 值得收藏的CSS可视化工具有哪些

    技术值得收藏的CSS可视化工具有哪些这篇文章主要讲解了“值得收藏的CSS可视化工具有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“值得收藏的CSS可视化工具有哪些”吧

    攻略 2021年11月8日
  • openwrt怎么设置master模式(openwrt如何设置进入管理页面)

    技术OpenWRT如何实现工作模式开关这篇文章主要介绍了OpenWRT如何实现工作模式开关,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 DIR-5

    攻略 2021年12月18日