此圖涉及三個(gè)版本的化身 Incarnation。
Incarnation 1:
最低位黑色水平線從 SCN1 開(kāi)始,經(jīng)歷 SCN1000,直到 SCN2000,這個(gè)為數(shù)據(jù)庫(kù)第一個(gè)化身,稱之為 Incarnation 1,這時(shí) 候, 化身1 就為 當(dāng)前化身(current incarnation) 。
Incarnation 2:
假設(shè)在化身1中,我們執(zhí)行了一個(gè)時(shí)間點(diǎn)恢復(fù)(不完全恢復(fù)),且指定的地方是 SCN1000 的位置,然后我們通過(guò)使用 Resetlogs 選項(xiàng)打開(kāi)了數(shù)據(jù)庫(kù),這時(shí),化身2 就出現(xiàn)了(45°傾斜黑色實(shí)線),化身2 從SCN1000開(kāi)始,持續(xù)到 SCN3000。這時(shí)候,我們稱 化身1 是 化身2 的 父級(jí)化身(parent incarnation),化身2 變?yōu)楫?dāng)前化身(current incarnation) 。
Incarnation 3:
我們觀察下向右上角45°傾斜的這條黑色實(shí)線,它是化身2。在化身2中,它從 SCN1000開(kāi)始,經(jīng)過(guò) SCN2000,持續(xù)到 SCN3000。假設(shè)在化身2 中,我們執(zhí)行了一個(gè)時(shí)間點(diǎn)恢復(fù)(不完全恢復(fù)),且指定的地方是 SCN2000 的位置,然后通過(guò) Resetlogs 選項(xiàng)打開(kāi)數(shù)據(jù)庫(kù),這時(shí),化身3 就出現(xiàn)了(位于最高位的黑色水平線),化身3 從 SCN2000開(kāi)始,持續(xù)到黑色水平線 的 SCN3000。這時(shí)候,我們稱 化身2 是 化身3 的 父級(jí)化身 ,稱 化身1 是 化身3 的 祖輩級(jí)化身(ancestor incarnation),化身3 變?yōu)楫?dāng)前化身(current incarnation) 。
場(chǎng)景模擬:
( 1 )
(2)由于表A被刪除,需要進(jìn)行不完全恢復(fù),恢復(fù)到SCN1046437,此時(shí)Open resetlogs打開(kāi),開(kāi)啟一個(gè)新的化身incarnation 2,表A被找回,但是表B,表C已丟失。
(3)此時(shí)如果想繼續(xù)恢復(fù)到創(chuàng)建表C時(shí)刻,需要指定化身1(reset database to incarnation 1),然后進(jìn)行restore +recover實(shí)現(xiàn)恢復(fù) 到創(chuàng)建表C時(shí)刻,此時(shí)Open resetlogs打開(kāi),開(kāi)啟一個(gè)新的化身incarnation 3,此時(shí)化身2變?yōu)楣聝夯恚∣RPHAN),當(dāng)前情況為表 B,表C存在,表A丟失。
(4)再次回到化身2,需要指定化身2(reset database to incarnation 2),然后進(jìn)行restore+recover實(shí)現(xiàn)恢復(fù)到化身2,此時(shí)需要 Open resetlogs打開(kāi),開(kāi)啟一個(gè)新的化身4,此時(shí)化身3變?yōu)楣聝夯恚∣RPHAN),化身2變?yōu)楦富恚≒arent)
//當(dāng)前化身為化身4,進(jìn)行一次冷備份
//恢復(fù)到化身3,開(kāi)啟化身5,當(dāng)化身5數(shù)據(jù)文件損壞時(shí),使用化身4時(shí)的冷備份進(jìn)行恢復(fù)測(cè)試
//open報(bào)錯(cuò)
//recover報(bào)錯(cuò)
//trace重建控制文件報(bào)錯(cuò)