3.7 RESET DATABASE

Purpose

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 the RESET DATABASE command

Prerequisites

Execute 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.

Usage Notes

When you use RMAN in NOCATALOG mode, the RESET DATABASE TO INCARNATION command is persistent across RMAN sessions.

Usage Notes for CDBs

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).

Semantics

Syntax Element Description

DATABASE

Specifies the entire database.

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 LIST INCARNATION OF DATABASE to obtain possible key values. After you issue RESET DATABASE TO INCARNATION, you can run RMAN commands such as FLASHBACK DATABASE, RESTORE, and RECOVER.

Examples

Example 3-23 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