Configuring a Basic Oracle Database Connector To Use Service Name Instead Of SID (KBA9279)
KBA
KBA# 9279
Issue
Basic Oracle connector is unable to access Oracle PDBs (multi-tenant)
Prerequisites
- Masking engine running 6.0.6.0+
- Oracle multi-tenant environment with at least one PDB
- Cannot be used for Masked provisioning
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.6.0, 6.0.6.1, 6.0.7.0, 6.0.8.0, 6.0.8.1, 6.0.9.0, 6.0.10.0, 6.0.10.1, 6.0.11.0, 6.0.12.0, 6.0.12.1, 6.0.13.0, 6.0.13.1, 6.0.14.0, 6.0.15.0
Resolution
- Supply all the information in the database connector for the PDB, including providing the servicename in the SID field:
- Create a .properties file (e.g. oracle.properties) which will include only the
database
property of the Oracle JDBC driver:
database=//host.delphix.com:1521/TESTPDB
- Click Select next to Custom Properties File and provide the file created.
- Test the connection by clicking Test Connection.
- Click Save if the test connection is successful.
The final database connector with the connection properties file will look like the following:
It is possible to click View next to Custom Properties File in order to check the current value of the database property (mouse over to show full length):
Troubleshooting
Using the Oracle Basic connector will allow connection only via the SID and not the servicename.
The connection string will look like host:port:SID
while requiring host:port/servicename.
Generally, it is possible to provide the servicename via the JDBC URL while using the Oracle Advanced connector.
It is recommended to use the Oracle Advanced connector to test the connection before using Basic.