Database incarnation is a new version of the database that happens when you reset the online redo logs using alter database open resetlogs;
Database incarnation falls into following category Current, Parent, Ancestor and Sibling
i) Current Incarnation : The database incarnation in which the database is currently generating redo.
ii) Parent Incarnation : The database incarnation from which the current incarnation branched following an OPEN RESETLOGS operation.
iii) Ancestor Incarnation : The parent of the parent incarnation is an ancestor incarnation. Any parent of an ancestor incarnation is also an ancestor incarnation.
iv) Sibling Incarnation : Two incarnations that share a common ancestor are sibling incarnations if neither one is an ancestor of the other.
.
we can view the status of our database incarnation using the command,
select * from v$database_incarnation;
list incarnation;
in this I have recovered a deleted table in the previous incarnation.
RMAN> backup database; SQL> create table test as select * from all_objects; Table created. SQL> select current_scn from v$database; CURRENT_SCN ----------- 547181 SQL> delete from test; 49309 rows deleted. SQL> commit; Commit complete. SQL> select current_scn from v$database; CURRENT_SCN ----------- 547891 SQL> drop table test; Table dropped. SQL> select current_scn from v$database; CURRENT_SCN ----------- 547917 SQL> alter system switch logfile; System altered. SQL> select incarnation#, resetlogs_change# from v$database_incarnation; INCARNATION# RESETLOGS_CHANGE# ------------ ----------------- 1 1 2 534907 SQL> shutdown immediate SQL> startup mount RMAN> run 2> { 3> set until scn=547891; 4> restore database; 5> recover database; 6> } RMAN> alter database open resetlogs; SQL> select incarnation#, resetlogs_change# from v$database_incarnation; INCARNATION# RESETLOGS_CHANGE# ------------ ----------------- 1 1 2 534907 3 547896 SQL> select * from test; no rows selected SQL> RMAN> shutdown immediate RMAN> startup mount RMAN> reset database to incarnation 2; database reset to incarnation 2 RMAN> run 2> { 3> set until scn=547181; 4> restore database; 5> recover database; 6> } RMAN> alter database open resetlogs; database opened SQL> select count(1) from test; COUNT(1) ---------- 49309 SQL>