Skip to content
  • There are no suggestions because the search field is empty.

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_name of the source objects, and host_name, port, service_name, user_name and password of the source database.
  • Use Existing Database Links: schema_name and database_link_name, the name of the existing link.
  • Do Not Use Database Links: schema_name only. 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