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

相关推荐

  • MySQL中SQL_NO_CACHE怎么用

    技术MySQL中SQL_NO_CACHE怎么用这篇文章主要介绍了MySQL中SQL_NO_CACHE怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。S

    攻略 2021年10月29日
  • 摇摇晃晃照样子写词语,照样子写词语。例:隐隐约约

    技术摇摇晃晃照样子写词语,照样子写词语。例:隐隐约约A 挨挨挤挤摇摇晃晃照样子写词语、 安安稳稳、 彬彬济济、期期艾艾B 蹦蹦跳跳、 比比划划、 病病歪歪C 葱葱茏茏、 痴痴呆呆、 层层叠叠 、苍苍茫茫、楚楚谡谡、 抽抽

    生活 2021年10月25日
  • Difference between pem, crt, key files

    技术Difference between pem, crt, key files Difference between pem, crt, key filesDifference between pem

    礼包 2021年12月9日
  • 分析MySQL优化思路

    技术分析MySQL优化思路这篇文章主要讲解了“分析MySQL优化思路”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析MySQL优化思路”吧! 思考角度数据库技

    攻略 2021年11月5日
  • 手机怎么拍一寸照片,自拍照如何做成一寸证件照

    技术手机怎么拍一寸照片,自拍照如何做成一寸证件照第一步,先打开手机上面的微信,点击下方的“发现”即可手机怎么拍一寸照片。在微信“发现”页面点击“小程序”,并且在输入框内输入证件照。此时,点击手机页面的证件照生成器进入就可

    生活 2021年10月30日
  • 影响mysqld安全的几个选项分别是什么

    技术影响mysqld安全的几个选项分别是什么影响mysqld安全的几个选项分别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。影响mysqld安全的几个

    攻略 2021年11月17日