---
title: "Oracle Data Integrator"
canonical: "https://docs.vaultspeed.com/space/VPD/3013541926/Oracle%20Data%20Integrator"
format: markdown
---
VaultSpeed supports the Oracle Middleware tool ‘Oracle Data Integrator’ (ODI)

When choosing ODI as your target type for DDL/ETL generation, all DDL code will be in oracle SQL, and all ETL code will be Groovy files that can be imported into ODI and these will automatically create ODI mappings for you.

To be able to generate the correct code for ODI, you need to fill in the required information about your ODI configuration inside of the “Tool Settings” → “ODI” menu in VaultSpeed.  This will allow VaultSpeed to create correct groovy code.

> Macro (toc)

## ODI Settings and Generation

Navigate to the **Generation Tool Settings** Menu, Select **ODI Settings and Generation.**

### Connection Information

Click on **Connection Information**.

On the first Tab (**Connection Strings**) the ODI Connection String(s) can be added by using the ‘+ ODI Connection String’ button.

Editing can be done by using the Actions menu at the end of the record.

![image](media://2275009f-e91a-417a-82c1-047c82bfa7cd)


Make sure to enter the correct connection string and Master/Work repository.  These can be found in the ODI Tool, in the Repository Connection Information: 

![image](media://3e23a767-43ed-421f-bce1-fd46731866c5)

  
A connection can be tested by using the Actions menu and clicking ‘Test Connection String’. A Task will be added to the Queue and should complete normally.

![image](media://af10da48-d413-4da9-b90f-eb560f350722)

On the second Tab (**User Configuration**) the ODI User can be Added/Edited/Deleted.  This again with the ‘+ ODI User Configuration’ button, or using the Action menus when it is already created.

![image](media://2857d818-0e1e-4e16-8aeb-c7df9c76ae00)

The ODI User is usually the SUPERVISOR User. The User can be found in the ODI Tool, in the Repository Connection Information: 

![image](media://fdec9c43-d5b2-4497-aee6-4f3e4d17db87)

 

Topology and Models can be automatically generated by Selecting a Project, Data Vault and Data Vault Release, and clicking on the ‘Autogenerate Topology & Models’ button.

![image](media://deff67d4-e0a5-4f97-ba76-d70119de040d)

### Topology

Navigate to the **Generation Tool Settings** Menu, Select **ODI Settings and Generation**. Click on **Topology**.

#### Physical Datastore

On the first Tab (**Physical DataStore**) the Physical DataStore(s) can be Added/Edited/Deleted.

![image](media://408eb7f4-fc6f-4688-9869-3b676ccba62b)

These Data can be found in ODI (Topology) :

![image](media://584610c3-ac22-410b-92d9-87ad74d1a4f1)

![image](media://878ef034-87a3-413e-9142-f18f622ed3f3)

![image](media://fbe46cc7-f1bb-4ba2-9da5-27da15633cd5)

 

#### Physical Schema

On the second Tab (**Physical Schema**) the Physical Schema(s) can be Added/Edited/Deleted.

> ℹ️ Physical Schema's can be automatically generated by Selecting a Project, Data Vault and Data Vault Release, and clicking the ‘Autogenerate Topology & Models’ button on the Connection Information Screen.

![image](media://8d00d3a9-e4b3-4c18-97f2-1d8e28747b75)


#### Logical Schema

On the third Tab (**Logical Schema**) the Logical Schema(s) can be Added/Edited/Deleted.

> ℹ️ Logical Schema's can be automatically generated by Selecting a Project, Data Vault and Data Vault Release, and clicking the ‘Autogenerate Topology & Models’ button on the Connection Information Screen.

![image](media://f139dcc8-55d9-40d5-8e91-58f67bfbedb5)


#### Context

On the fourth Tab (**Context**) the ODI Context(s) can be Added/Edited/Deleted.

> ℹ️ Context can be automatically generated by Selecting a Project, Data Vault and Data Vault Release, and clicking the ‘Autogenerate Topology & Models’ button on the Connection Information Screen.

![image](media://885c53d5-3006-4cf1-927b-fceb0473bf4c)


#### Context Schema

On the fifth Tab (**Context Schema**) the ODI Context Schema(s) can be Added/Edited/Deleted.

> ℹ️ Context Schema's can be automatically generated by Selecting a Project, Data Vault and Data Vault Release, and clicking the ‘Autogenerate Topology & Models’ button on the Connection Information Screen.

![image](media://19e6920b-c02d-4075-8773-a449b32ea543)


#### Physical Agents

On the sixth Tab (**Physical Agents**) the Physical Agent(s) can be Added/Edited/Deleted.

![image](media://152dd74a-bf66-40bb-b28a-09a18b40d747)


#### Logical Agents

On the seventh Tab (**Logical Agents**) the Logical Agent(s) can be Added/Edited/Deleted.

![image](media://db61d185-3c30-4502-b0c2-a48bd4a22c22)

#### Context Agents

On the eigth Tab (**Context Agents**) the Context Agent(s) can be Added/Edited.

![image](media://347327f5-9187-4156-b27e-1b006c316148)

### Model

Navigate to the **Generation Tool Settings** Menu, Select **ODI Settings and Generation**. Click on **Model**.

> ℹ️ The Model can be automatically generated by Selecting a Project, Data Vault and Data Vault Release, and clicking the ‘Autogenerate Topology & Models’ button on the Connection Information Screen.

![image](media://3cc8251d-a208-4971-a190-6cdb5758bf68)

 

### Knowledge Modules

Navigate to the **Generation Tool Settings** Menu, Select **ODI Settings and Generation**. Click on **Knowledge Modules**.

A number of Operation Types can be mapped to ODI Knowledge Modules (By Project/Source). When no Value is specified, the Default ODI Knowledge Module for the Type will be used.

![image](media://b2074ebb-cdef-41dc-8780-77ab8fed43f6)

 

### Folders

Navigate to the **Generation Tool Settings** Menu, Select **ODI Settings and Generation**. Click on **Folders**.

Two Tabs (**Base Folder Settings** and **Folder Settings**) will show the Structure that will be used in order to set up both the Projects and Models Folder Structure within an ODI Repository:

![image](media://bd69e735-5df7-4b1c-97f1-65adbcc0a2f5)

![image](media://05d43513-4607-4c8f-9d2b-1a94ebab16ae)


This Folder Structure is generated automatically. At this Moment, Editing the Structure is not possible. 

## Installing Groovy

In order to be able to use the automatic deployment feature of VaultSpeed to deploy the generated Groovy files to your ODI environment, you must have Groovy installed on the machine where the agent is running.

to install Groovy follow these steps:

As root user, use yum install to install groovy

```
[root@odi-clients-server ~]# yum install groovy
```

To check if groovy is installed, check the version:

```
[root@odi-clients-server ~]# groovy -version
Groovy Version: 3.0.4 JVM: 1.8.0_171 Vendor: Oracle Corporation OS: Linux
```

The Default directory that groovy is installed to is: /bin

You can check this with the command 'which'

```
[root@odi-clients-server ~]# which groovy
/bin/groovy
```

For use with ODI, you need to edit the configuration file for groovy to include the ODI-library files

The configuration file is normally located at: /etc/groovy-starter.conf

But you can check this in the groovy file itself:

```shell
[root@odi-clients-server ~]# more /bin/groovy
#!/bin/sh
#  
# Groovy script
# Lubomir Rintel <lkundrak@v3.sk>

# Packagers: When updating the package be sure to check
# all this against against the upstream binary package

# Source functions library
if [ -f /usr/share/java-utils/java-functions ] ; then  
  . /usr/share/java-utils/java-functions
else
  echo "Can't find functions library, aborting"
  exit 1
fi

# Configuration
SCRIPT_PATH=$0
PROGNAME=$(basename $SCRIPT_PATH)
GROOVY_CONF=/etc/groovy-starter.conf
TOOLS_JAR=$(build-classpath ../../jvm/java/lib/tools)
STARTER_MAIN_CLASS=org.codehaus.groovy.tools.GroovyStarter
MAIN_CLASS=$STARTER_MAIN_CLASS

# Wrappers
[ $PROGNAME = grape ] && CLASS=org.codehaus.groovy.tools.GrapeMain
```

Edit the /etc/groovy-starter.conf file to include the ODI-libraries.  Add these load commands to the end of the config file.

Make sure you have the correct path to the .JAR files

This is the ODI-installation home directory. 

In our case: /u01/app/oracle/middleware/odi

```
load /u01/app/oracle/middleware/odi/odi/sdk/lib/oracle.odi-sdk-jse.jar
load /u01/app/oracle/middleware/odi/oracle_common/modules/oracle.jps/jps-api.jar
load /u01/app/oracle/middleware/odi/oracle_common/modules/oracle.jps/jps-internal.jar
load /u01/app/oracle/middleware/odi/oracle_common/modules/oracle.jps/jps-common.jar
load /u01/app/oracle/middleware/odi/oracle_common/modules/oracle.idm/identitystore.jar
load /u01/app/oracle/middleware/odi/oracle_common/modules/oracle.jdbc/ojdbc6.jar
load /u01/app/oracle/middleware/odi/oracle_common/modules/javax*.jar
```

![image](media://aed725bf-46bf-40d3-83af-8bf4609c1db5)

To check if no typos have been made, you can check the version of groovy again, if the command has no errors, all is ok.

```
[root@odi-clients-server ~]# groovy -version
Groovy Version: 3.0.4 JVM: 1.8.0_171 Vendor: Oracle Corporation OS: Linux
```