Use the RESET DATABASE TO INCARNATION
command to reset the incarnation of the target database in the RMAN repository to a previous database incarnation. You are only required to use this command in the following scenarios:
You use RESTORE
or RECOVER
to return the database to an SCN before the current RESETLOGS
timestamp.
You use FLASHBACK DATABASE
to rewind the database to an orphaned database incarnation.
See Also:
Oracle Database Backup and Recovery User's Guide to learn about the circumstances in which it is necessary to use theRESET DATABASE
commandExecute RESET DATABASE TO INCARNATION
only at the RMAN prompt. RMAN must be connected to a target database.
If RMAN runs in NOCATALOG
mode, then the target database must be mounted. The mounted control file must contain a record of the specified database incarnation.
If RMAN runs in CATALOG
mode, then the target database can be mounted or unmounted. If the database is mounted, then the control file must contain a record of the specified database incarnation.
When you use RMAN in NOCATALOG
mode, the RESET DATABASE TO INCARNATION
command is persistent across RMAN sessions.
The initial incarnation number of a pluggable database (PDB) is 0. Subsequent incarnation numbers are unique, but not always sequential. The PDB incarnation is a subincarnation of the multitenant container database (CDB) and is expressed as (
database_incarnation, pdb_incarnation
)
. For example, if the CDB is at incarnation 5
, and a PDB is at incarnation 3
, then the fully specified incarnation number of the PDB is (5, 3)
.
Syntax Element | Description |
---|---|
DATABASE |
Specifies the entire database. |
PLUGGABLE DATABASE pdb_name |
Specifies the name of a PDB in a CDB. |
primaryKey |
Changes the current incarnation to a noncurrent database incarnation specified by the primary key of the DBINC record for the database incarnation. An incarnation key is used to uniquely tag and identify a stream of redo.
Run |
Example 3-20 Resetting RMAN to a Previous Incarnation in NOCATALOG Mode
In NOCATALOG
mode, you must mount a control file that contains information about the incarnation that you want to recover. The following scenario resets the database to an abandoned incarnation of database trgt
and performs incomplete recovery.
CONNECT TARGET / NOCATALOG # step 1: start and mount a control file that knows about the incarnation to which # you want to return. Refer to the RESTORE command for appropriate options. STARTUP NOMOUNT; RESTORE CONTROLFILE FROM AUTOBACKUP; ALTER DATABASE MOUNT; # step 2: obtain the primary key of old incarnation LIST INCARNATION OF DATABASE trgt; List of Database Incarnations DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time ------- ------- -------- ------------- ------- ---------- ---------- 1 2 TRGT 1334358386 PARENT 154381 OCT 30 2013 16:02:12 1 116 TRGT 1334358386 CURRENT 154877 OCT 30 2013 16:37:39 # step 3: in this example, reset database to incarnation key 2 RESET DATABASE TO INCARNATION 2; # step 4: restore and recover the database to a point before the RESETLOGS RESTORE DATABASE UNTIL SCN 154876; RECOVER DATABASE UNTIL SCN 154876; # step 5: make this incarnation the current incarnation and list incarnations: ALTER DATABASE OPEN RESETLOGS; LIST INCARNATION OF DATABASE trgt; List of Database Incarnations DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time ------- ------- -------- ---------------- ------- ---------- ---------- 1 2 TRGT 1334358386 PARENT 154381 OCT 30 2013 16:02:12 1 116 TRGT 1334358386 PARENT 154877 OCT 30 2013 16:37:39 1 311 TRGT 1334358386 CURRENT 156234 AUG 13 2013 17:17:03