Starting with Oracle Database Release 18c, RMAN enables you to use the DUPLICATE command to duplicate a PDB to an existing CDB. This is very useful feature which will allow the CDBs in your environment to duplicate PDBs, instead of having to create additional CDBs for deduplication tasks.
There are some restrictions on PDB duplication to an existing CDB:
- Only active database duplication is supported.
- You can’t duplicate PDB to a standby CDB.
- One PDB can duplicated at a time.
- You can’t skip exclude specific tablespace during PDB duplications. Means partial duplication is not allowed.
- PDB with TDE- Encrypted tablespaces is not supported.
- Only few clauses of the duplicate commands are supported like DB_FILE_NAME_CONVERT, SECTION SIZE etc… some clauses like FARSYNC, LOG_FILE_NAME_CONVERT is not supported. Check oracle documentation for more detail.
My environment is set up as below and It’s all ready to test the scenario. Check my other blogs, how to install and create 18c database from here.
| 18c Env.
||CDB Name||PDB Name|
The example assumes the following scenario:
- Both Source CDB, CDB18 and destination CDB, CDB_dest are on same VM machine and both CDB’s are 18c compatible.
- The PDB being duplicate PDB18, is in read-write mode.
- Both source and destination CDB’s are open in read write mode with archiving enabled.