Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

The Oracle documentation describe incarnation as:

incarnation

A separate version of a database. The incarnation of the database changes when you open it with the RESETLOGS option, but you can recover backups from a prior incarnation so long as the necessary redo is available.

But I still can't fully understand it. Can anyone explain it in a easy-to-understand way to me please?

Thanks,

share|improve this question

2 Answers 2

Let's say you start with an Oracle database called PROD, replicated to a physical standby called STNDBY. You refresh your development environment by taking a copy of STNDBY via RMAN† and calling it MASTER. You open MASTER read-write, to do some actions (e.g. deleting sensitive user data) and then copy that for your developers, called DEV1, DEV2 etc. One of your developers wants to do some experiments, so he further clones DEV1 into DEV1A. So there are now many versions of our database, e.g

------    --------      --------       ------      ------- 
|PROD| -> |STNDBY| -*-> |MASTER|  -*-> |DEV1| -*-> |DEV1A|
------    --------      --------       ------      -------

The * indicates points at which you have done OPEN RESETLOGS or created a new controlfile. This means a new incarnation of the database. You could not apply redo logs "backwards" in this chain, e.g. even if you shut down PROD (so its SCN does not increment) before creating MASTER, you could not make changes in a downstream database, for example DEV1, then apply the redo logs back to PROD even tho' they are the "same" DBFs - the incarnation has been incremented.

† this is what it means by recover backups from a prior incarnation

share|improve this answer
1  
If you watch popular TV show Fringe. Incarnations a bit like parallel universes there. Whenever significant event occurs differently (OPEN RESETLOGS or created a new controlfile + different transactions) , they diverge and different parallels universes (incarnations) occurs. –  Atilla Ozgur Dec 8 '11 at 7:42

well, the incarnation is an especific break point in the life time of the database. To be clear you may look at the database life cycle as it starts its creation through its full and redo log backups, imagine this as a time line, now after several backups you need to go back in time and restore the whole database to an specific point in time or SCN, once you do this you must open the database with resetlogs which creates a new encarnation of the database because the backup chain it used to have from the point of the new incarnation to the point in time where you decided to restore the database, cannot be use any more, this is because new operations are been logged to the redo logs once you open it with reset logs, so a new parallel time line of backups must be generated starting from the incarnation point in time.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.