Explanation/Reference:
Explanation:
Duplicating a Database
Overview of RMAN Database Duplication
Database duplication is the use of the DUPLICATE command to copy all or a subset of the data in a source database. The duplicate database (the copied database) functions entirely independently from the source database (the database being copied).
Purpose of Database Duplication
If you copy a database with operating system utilities instead of the DUPLICATE command, then the DBID of the copied database remains the same as the original database. To register the copy database in the same recovery catalog with the original, you must change the DBID with the DBNEWID utility (see Oracle Database Utilities). In contrast, the DUPLICATE command automatically assigns the duplicate database a different DBID so that it can be registered in the same recovery catalog as the source database.
Backup-Based Duplication
In backup-based duplication, RMAN creates the duplicate database by using pre-existing RMAN backups and copies. This technique of duplication uses one of the following mutually exclusive subtechniques:
Duplication without a target database connection, RMAN obtains metadata about backups from a recovery catalog.
Duplication without a target database connection and without a recovery catalog. RMAN obtains metadata about where backups and copies reside from BACKUP LOCATION.
Duplication with a target database connection. RMAN obtains metadata about backups from the target database control file or from the recovery catalog.
How RMAN Duplicates a Database
For backup-based duplication, the principal work of the duplication is performed by the auxiliary channels.
These channels correspond to a server session on the auxiliary instance on the destination host. For active database duplication the primary work is performed by target channels. RMAN must perform database point-in-time recovery, even when no explicit point in time is provided for duplication. Point-in- time recovery is required because the online redo log files in the source database are not backed up and cannot be applied to the duplicate database. The farthest point of recovery of the duplicate database is the most recent redo log file archived by the source database.
As part of the duplicating operation, RMAN automates the following steps:
1. Creates a default server parameter file for the auxiliary instance if the following conditions are true:
Duplication does not involve a standby database.

Server parameter files are not being duplicated.

The auxiliary instance was not started with a server parameter file.

2. Restores from backup or copies from active database the latest control file that satisfies the UNTIL clause requirements.
3. Mounts the restored or copied backup control file from the active database.
4. Uses the RMAN repository to select the backups for restoring the data files to the auxiliary instance.
This step applies to backup-based duplication.
5. Restores and copies the duplicate data files and recovers them with incremental backups and archived redo log files to a noncurrent point in time.
6. Shuts down and restarts the database instance in NOMOUNT mode.
7. Creates a new control file, which then creates and stores the new DBID in the data files.
8. Opens the duplicate database with the RESETLOGS option and creates the online redo log for the new database.