温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle incarnation

发布时间:2020-08-07 14:25:41 来源:ITPUB博客 阅读:182 作者:DBhanG 栏目:关系型数据库

. 官方图示例

Oracle incarnation

此图涉及三个版本的化身 Incarnation。

Incarnation 1:

最低位黑色水平线从 SCN1 开始,经历 SCN1000,直到 SCN2000,这个为数据库第一个化身,称之为 Incarnation 1,这时 候, 化身1  就为 当前化身(current incarnation)

Incarnation 2:

假设在化身1中,我们执行了一个时间点恢复(不完全恢复),且指定的地方是 SCN1000 的位置,然后我们通过使用 Resetlogs  选项打开了数据库,这时,化身2 就出现了(45°倾斜黑色实线),化身2 从SCN1000开始,持续到 SCN3000。这时候,我们称 化身1  是  化身2  的 父级化身(parent incarnation),化身2 变为当前化身(current incarnation)

Incarnation 3:

我们观察下向右上角45°倾斜的这条黑色实线,它是化身2。在化身2中,它从 SCN1000开始,经过 SCN2000,持续到  SCN3000。假设在化身2 中,我们执行了一个时间点恢复(不完全恢复),且指定的地方是 SCN2000 的位置,然后通过  Resetlogs 选项打开数据库,这时,化身3 就出现了(位于最高位的黑色水平线),化身3 从 SCN2000开始,持续到黑色水平线 的 SCN3000。这时候,我们称 化身2  是  化身3  的 父级化身 ,称 化身1  是  化身3  的 祖辈级化身(ancestor incarnation),化身3  变为当前化身(current incarnation)

. 场景模拟

场景模拟:

1

Oracle incarnation

(2)由于表A被删除,需要进行不完全恢复,恢复到SCN1046437,此时Open resetlogs打开,开启一个新的化身incarnation 2,表A被找回,但是表B,表C已丢失。

(3)此时如果想继续恢复到创建表C时刻,需要指定化身1(reset database to incarnation 1),然后进行restore +recover实现恢复 到创建表C时刻,此时Open resetlogs打开,开启一个新的化身incarnation 3,此时化身2变为孤儿化身(ORPHAN),当前情况为表 B,表C存在,表A丢失。

(4)再次回到化身2,需要指定化身2(reset database to incarnation 2),然后进行restore+recover实现恢复到化身2,此时需要 Open resetlogs打开,开启一个新的化身4,此时化身3变为孤儿化身(ORPHAN),化身2变为父化身(Parent)

. 孤儿备份测试:

//当前化身为化身4,进行一次冷备份

//恢复到化身3,开启化身5,当化身5数据文件损坏时,使用化身4时的冷备份进行恢复测试

  Oracle incarnation

//open报错

Oracle incarnation

//recover报错

Oracle incarnation

//trace重建控制文件报错

Oracle incarnation

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI