Skip to main content
Delphix

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.

clipboard_e31725b98651d8ab061564e94b092493a.png

 

clipboard_ee65e0aae67554366768cd6859b7a22e7.png

 

 


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)