Oracle - Placeholder values
Applies to
Platform: Oracle
The placeholder values of an Oracle project tell the artifacts how to connect to each layer, to the load control and to the source systems. Enter them in replacement_config.json before you run replace_placeholders.ps1. Afterwards the deployment and load scripts contain your connection data and schema names.
The replacement itself is described in Replace the placeholders in the artifacts.
Variable names
Each variable name has the form <project>#<layer>#<variable>. Here <project> is the project name and <layer> the layer or source system name in lower case without spaces, for example rawvault for Raw Vault. The load-control variables use loadcontrol#loadcontrol#<variable>.
Set user_name and schema_name of a layer, and of load control, to the same Oracle user.
Variables
Layer connection
One group per target layer, for example stage, rawvault, businessvault or mart:
host_name,port,service_name: the database the layer is deployed to.user_name,password: the user the deployment connects as. The previous layer grants its tables and views to this user.schema_name: the schema that owns the objects of the layer. With Airflow it is also the connection ID of the layer.
Load control
With Native Load Control, loadcontrol#loadcontrol# has the same six variables. schema_name is prefilled with LC. execute.ps1 connects with these values.
Source systems
One group per source system. Its variables depend on Database Links for Source Systems (Project):
Create Database Links(default):schema_nameof the source objects, andhost_name,port,service_name,user_nameandpasswordof the source database.Use Existing Database Links:schema_nameanddatabase_link_name, the name of the existing link.Do Not Use Database Links:schema_nameonly. The source objects are read in the same database.
Linked layers
A project that uses model objects imported from a linked project gets a group for each linked layer. With Create GRANTs for Imported Objects true (default) it has all six variables. Enter the values of the linked project's layer, including its password: the deployment connects as that user to grant the objects. With false only schema_name remains.
Example
The project test.datavault.oracle deploys its Stage layer as the example user DWH_STG to the service FREEPDB1 on dbhost:
{ "name": "test.datavault.oracle#stage#host_name",
"value": "dbhost", "secretname": "" },
{ "name": "test.datavault.oracle#stage#port",
"value": "1521", "secretname": "" },
{ "name": "test.datavault.oracle#stage#service_name",
"value": "FREEPDB1", "secretname": "" },
{ "name": "test.datavault.oracle#stage#schema_name",
"value": "DWH_STG", "secretname": "" },
{ "name": "test.datavault.oracle#stage#user_name",
"value": "DWH_STG", "secretname": "" },
{ "name": "test.datavault.oracle#stage#password",
"value": "<password>", "secretname": "" }
<password> is the password of DWH_STG. After the replacement, SQL\deploy_all_layers.sql connects with:
conn DWH_STG/<password>@dbhost:1521/FREEPDB1
Stage tables are created in the schema DWH_STG, for example DWH_STG.STG_ST_CUSTOMER.
Related articles
- Previous: Oracle - Target environment, Download generated artifacts
- Next: Oracle - Deployment
- Reference: Database Links for Source Systems (Project), Create GRANTs for Imported Objects (Project)
- See also: Replace the placeholders in the artifacts, Oracle - Artifacts