Provisioning a Virtual Oracle Pluggable Database fails reporting RMAN errors RMAN-07517 and ORA-45900 (KBA4133)
Issue
During provisioning of virtual pluggable databases a failure occurs reporting the following RMAN and Oracle errors:
File Name: /delphix_mount/qitp/czqitp/czqitp/datafile/init.ora.createControlfile\n RMAN-07517: Reason: The file header is corrupted\n
and
ERROR at line 1: ORA-45900: data file number 10 already included as /qtip/data01/CQTIP/datafile/o1_mf_bmc_d976pd92_.dbf ORA-06512: at "SYS.X$DBMS_BACKUP_RESTORE", line 3890 ORA-06512: at line 1
The RMAN-07517 corruption errors can be ignored as this is RMAN scanning and cataloging files that are not Oracle Datafiles, in this case the parameter files Delphix creates and uses during various steps of the provision process.
The actual issue appearing here is producing the real error which is Oracle error ORA-45900.
This error appears during the RMAN switch datafile to copy operation we perform against each datafile and RMAN is indicating we are attempting to switch the file to our Delphix based datafile however there is a file number and container mismatch.
oerr ora 45900 45900, 0000, "data file number %s already included as %s" // *Cause: RMAN attempted to use the specified data file number, but this // data file number was already in use by a different container // database. // *Action: Resolve the conflict and retry the command.
Prerequisites
You are provisioning an Oracle Virtual Pluggable Database using the Delphix Virtualisation Engine.
A Parameter Template has been used during the provision or editing of the parameters set for the provision has occurred and the parameter "enable_pluggable_database" has been omitted or removed from the parameters set.
Applicable Delphix Versions
This article applies to the following versions of the Delphix Engine:
Major Release |
All Sub Releases |
5.3 | 5.3.0.0 |
5.2 | 5.2.2.0, 5.2.2.1, 5.2.3.0, 5.2.4.0, 5.2.5.0, 5.2.5.1, 5.2.6.0, 5.2.6.1 |
5.1 |
5.1.0.0, 5.1.1.0, 5.1.2.0, 5.1.3.0, 5.1.4.0, 5.1.5.0, 5.1.5.1, 5.1.6.0, 5.1.7.0, 5.1.8.0, 5.1.8.1, 5.1.9.0, 5.1.10.0 |
Resolution
To resolve this error you must ensure that the Oracle parameter enable_pluggable_database=TRUE is set in the configuration template or the list of parameters configured for the virtual Container Database during the provisioning process.
Troubleshooting
The alert log generated during the provisioning of the virtual database can be used to confirm the presence of the parameter enable_pluggable_database in the parameter list set for the virtual database being provisioned.
The parameter enable_pluggable_database will NOT appear in the alert log in the set of parameters used to start the database instance or it will be set to FALSE (The default for the parameter). If its not listed or set to false these errors will appear during a VCDB/VPDB provision failure.
From the alert log:
Using parameter settings in client-side pfile /delphix_mount/qitp/czqitp/czqitp/datafile/init.ora.rename on machine oel7si1 System parameters with non-default values: processes = 600 sga_target = 2G db_block_size = 8192 compatible = "12.1.0.2.0" audit_trail = "NONE" db_name = "cqtip" db_unique_name = "czqitp" .. pga_aggregate_target = 512M parallel_force_local = TRUE
Executing the following variant of the SQL will prove the parameter was not set.
hercules=> select vdb_id,name,container,config,config_params,config_template from orcl_virtual_db where config='ORACLE_SINGLE_CONFIG-22' and config_params like '%pluggable%'; (0 rows)