LIST INCARNATION OF DATABASE含義

不一樣的天空w發表於2019-12-02

http://blog.itpub.net/7259433/viewspace-2146710/

Resetlogs命令表示一個資料庫邏輯生存期的結束和另一個資料庫邏輯生存期的開始,每次使用Resetlogs命令的時候,SCN不會被重置,不過oracle會重置日誌序列號,而且會重置聯機重做日誌內容。Oracle把這個資料庫邏輯生存期稱為incarnation,每次使用resetlogs開啟資料庫,就會使incarnation + 1,也就是產生一個新的incarnation;

如果想要恢復到之前incarnation的scn/time,就需要先恢復到之前的incarnation;

rman recover後,resetlog開啟後,如果要重新recover,那麼需要 reset database to incarnation ....

--備份恢復

run {

set until scn 2122840;

shutdown immediate;

startup mount;

restore database;

recover database;

alter database open resetlogs;

}

--再次備份恢復

list incarnation;

startup mount;

reset database to incarnation 5;

restore database until scn ;

recover database until scn


incarnation在英文中是“化身”的意思。 那麼在oracle中,它又是什麼意思呢?有什麼作用呢?

Current Incarnation(當前化身):資料庫當前正在使用的化身。

Parent Incarnation(父化身):資料庫當前化身的上一個化身。在父化身以 OPEN RESETLOGS 開啟後,就生成當前化身。

Ancestor Incarnation(祖輩化身):在父化身之前,輾轉生成父化身的各個化身。

Direct Ancestral Path(直接祖輩路徑 / 宗譜):由資料庫的起始化身輾轉生成至當前化身的分支路徑,包含資料庫的歷代祖輩及父化身。

Orphan Incarnation(孤兒化身):不在資料庫當前化身的宗譜上的資料庫其它化身。

Orphaned Backups(孤兒備份):不是資料庫當前化身的宗譜上生成的資料庫備份。當前化身不能使

首先,我們可以來看一張圖,來對incarnation有個基本的瞭解

如圖,SCN1到SCN1000過程中,資料庫屬於incarnation 1,一直髮展到橫向的SCN 2000,做了不完全恢復到了SCN 1

000,此時SCN1000之後到橫向的SCN2000的便是(孤兒化身)。而SCN1000向上面的SCN2000發展形成incarnation 2。

incarnation 1便是incarnation 2的(父輩化身)。 而SCN2000往上繼續發展到SCN3000時,又做了不完全恢復到SCN

2000,SCN2000繼續橫向發展到SCN3000,形成incarnation 3.所以incarnation 1便是incarnation 3的(祖輩化身),

incarnation 2便是incarnation 1的(祖輩化身)。

所有incarnation 1到 incarnation 3 的這條灰色軌跡便是Direct Ancestral  Path。

Incarnation 1 中 SCN 1000 之後的所有備份 和Incarnation 2 中 SCN 2000 之後的所有備份便是孤兒備份。

自此應該能夠對Incarnation又大概的瞭解了吧。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2666470/,如需轉載,請註明出處,否則將追究法律責任。

相關文章