Skip to main content
Delphix

Implications of IO Rate Limits for Oracle Pluggable Databases in Delphix (KBA5554)

 

 

KBA

KBA# 5554

 

Issue

Beginning in release 12.2, Oracle has introduced I/O Rate Limits for PDBs.  Oracle Support Document 2164827.1 (I/O Rate Limits for PDBs  12.2) discusses this feature. The feature can be configured discretely for each PDB, or configured on a CDB, and each PDB will adopt this value.

As Delphix does not currently offer QoS or other per-dataset rate limits, this Oracle feature may be useful for Administrators who wish to prevent "bad neighbors" overwhelming a specific resource.  However, there are several ways this can be implemented, and it can affect Delphix SnapSync and provision/refresh operations, as discussed below.

Linked Database (dSource)

Rate limits applied to a linked PDB/CDB may affect overall job completion time during SnapSync, as the rate limits are also applied during RMAN backup.

Additionally, rate limits applied to a linked CDB and/or PDB will be propagated to the staging and vCDB, and vPDB during provision. 

Details
CDB rate limit
PDB rate limit
Staging vCDB rate limit
vPDB rate limit
Target vCDB
set unset (adopts CDB) set (adopts linked CDB value)

unset (adopts vCDB value)

N/A
set set (altered value from CDB) set (adopts linked CDB value) Matches PDB N/A
set unset (adopts CDB) set (adopts linked CDB value) set (adopts linked CDB value) set (adopts linked CDB value)
unset set (altered value from CDB) unset matches PDB  

vPDB Provisioned to Physical CDB

Rate Limits applied to a target (physical) CDB will be applied to any PDB plugged in. However, for our concerns this value will only be in effect once recovery is completed, as Delphix will use a temporary staging vCDB for recovery, then ultimately the vPDB will be plugged in to the target CDB.  As such, the only impact to recovery would occur if a Repository Template was applied which has Rate Limits configured.

The Delphix Engine does not currently offer customization of vPDB parameters such as Rate Limits. If a custom (non-default or otherwise different from CDB) value is desired for vPDB, a Configure Clone or other post-provision hook script can be implemented to set the rate limit as desired at provision.

Any customization using hook scripts is the responsibility of the Delphix Administrator; beyond confirmation of script execution, the troubleshooting of hook script contents falls outside the scope of Delphix Support.

Alternatively the Rate Limit can be implemented or changed after initial provision at any time using the methods documented by Oracle (alter system set parameter... scope=BOTH).

vPDB Provisioned with vCDB

Although vPDB parameters can not be configured in the Delphix Engine at this time, vCDB config parameters can be set in the provision workflow.

In the vPDB-vCDB workflow, all recovery is completed with the same vCDB, and as such, any Rate Limits configured for a vCDB will have the potential to impact provision, depending on the limits configured.

Alternatively the Rate Limit can be implemented or changed after initial provision at any time using the methods documented by Oracle (alter system set parameter... scope=BOTH).

General Caution

Because of the obvious potential impact to vPDB performance, any configuration of Rate Limit should be understood by the Delphix Admin and the ultimate consumers of vPDB data.  

In the instance of engagement with Delphix Support for performance investigation, the configuration of Rate Limits should be explicitly expressed to Support at case creation.

Other Options

Oracle Consumer Groups may also be leveraged to restrict database resource consumption, though this feature assigns priority to sessions, and is focused more on CPU resources than overall IO constraints. Therefore, this may not be considered an adequate substitute for the IO Rate Limit features.

 

Applicable Delphix Versions

Click here to view the versions of the Delphix engine to which this article applies
Major Release All Sub Releases
6.0 6.0.0.0

5.3

5.3.0.0, 5.3.0.1, 5.3.0.2, 5.3.0.3, 5.3.1.0, 5.3.1.1, 5.3.1.2, 5.3.2.0, 5.3.3.0, 5.3.3.1, 5.3.4.0, 5.3.5.0 5.3.6.0, 5.3.7.0, 5.3.7.1, 5.3.8.0, 5.3.8.1

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.7.0, 5.1.8.0, 5.1.8.1, 5.1.9.0, 5.1.10.0

 

Troubleshooting

  • During the course of troubleshooting VDB performance, if a consistent MB/s or IOPS rate is observed (nfsiostat consistently reporting 1000 iops regularly over time, for example), this may indicate a rate limit is configured.  
  • As this feature is only available for pluggable databases, attempting to configure Rate Limit for a non-multitenant (non-consolidated) database is expected to fail with ORA-56739.
[oracle@gi-rh76-ora19000-src lib]$ oerr ora 56739
56739, 00000, "cannot modify max_iops or max_mbps parameter"
// *Cause:  An attempt was made to alter the Resource Manager 
//          max_iops or max_mbps parameter in a non-consolidated database.
// *Action: max_iops and max_mbps are pluggable database (PDB) only parameters
//          and cannot be altered in non-consolidated databases.
//          The max_iops and max_mbps parameters can only be
//          altered from a PDB.

 


Related Articles

The following articles may provide more information or related information to this article: