Installation of Oracle Data Integrator
In this post we will install Oracle Data Integrator (ODI) 14.1.2 in a Linux VM. The steps can be used to quickly setup an environment.
Table of Contents
Oracle Data Integrator (ODI) is a powerful ELT (Extract, Load, Transform) tool designed for high-performance data integration across heterogeneous systems. It provides declarative design, knowledge modules, and ELT architecture to efficiently move and transform data between databases, clouds, and big data platforms. ODI is widely used for data warehousing, real-time integration, and big data projects, offering flexibility, scalability, and automation through its modular approach. To install the system we use a RedHat Enterprise Linux 8.10 VM runing Oracle 19. The installation is described here.
Required software
ODI is a Oracle Fusion Middleware 14c application. We need to download the following software. The software will be accessible from the VM using the path /sw/oracle/odi/:
- edelivery.oracle.com: Oracle Fusion Middleware Infrastructure 14.1.2.0.0
- edelivery.oracle.com: Oracle Data Integrator 14.1.2.0.0
- JDK 17.0.15 x64 for Linux (jdk-17.0.15_linux-x64_bin.rpm)
- WebLogic remote Console for Linux and/or Windows
Installation
Increase the memory of the VM
First we will increase the memory for the VM from 8GB to 14GB. This needs to be run on the VM host system:
set "VHOST="
(set /p VHOST=Enter VM name ^(e.g. lin1^):
call vboxmanage controlvm %VHOST% shutdown &rem Power down the VM and wait
timeout /T 10 /NOBREAK
call vboxmanage modifyvm %VHOST% --memory=14336 &rem Set the VM RAM to 14 GB
call vboxmanage startvm %VHOST%) &rem Power up the Virtual Machine
Installation of Oracle Fusion Middleware and ODI
First we install the JDK and then the installation of Fusion Middleware and Oracle Data Integrator will be done:
# install the JDK (run as root)
rpm -ihv /sw/oracle/odi/jdk-17.0.15_linux-x64_bin.rpm
# unzip the software
su - oracle -c 'unzip -q /sw/oracle/odi/V1045135-01.zip; unzip -q /sw/oracle/odi/V1045400-01.zip'
# install Fusion Middleware
cat > ~oracle/fmw.rsp << EOF
[ENGINE]
Response File Version=1.0.0.0.0
[GENERIC]
DECLINE_AUTO_UPDATES=true
ORACLE_HOME=/home/oracle/Oracle/Middleware/Oracle_Home
INSTALL_TYPE=Fusion Middleware Infrastructure
EOF
su - oracle -c '/usr/bin/java -jar ./fmw_14.1.2.0.0_infrastructure.jar -silent -responseFile ~/fmw.rsp'
# install ODI
cat > ~oracle/odi.rsp << EOF
[ENGINE]
Response File Version=1.0.0.0.0
[GENERIC]
DECLINE_AUTO_UPDATES=true
ORACLE_HOME=/home/oracle/Oracle/Middleware/Oracle_Home
INSTALL_TYPE=Enterprise Installation
EOF
su - oracle -c '/usr/bin/java -jar ./fmw_14.1.2.0.0_odi.jar -silent -responseFile ~/odi.rsp'
Sample Output (click to expand):
[root@lin7 ~]# # install the JDK
cat > ~oracle/odi.rsp << EOF
[ENGINE]
Response File Version=1.0.0.0.0
[GENERIC]
DECLINE_AUTO_UPDATES=true
ORACLE_HOME=/home/oracle/Oracle/Middleware/Oracle_Home
[root@lin7 ~]# rpm -ihv /sw/oracle/odi/jdk-17.0.15_linux-x64_bin.rpm
su - oracle -c '/usr/bin/java -jar ./fmw_14.1.2.0.0_odi.jar -silent -responseFile ~/odi.rsp'
warning: /sw/oracle/odi/jdk-17.0.15_linux-x64_bin.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:jdk-17-2000:17.0.15-9 ################################# [100%]
[root@lin7 ~]# # unzip the software
[root@lin7 ~]# su - oracle -c 'unzip -q /sw/oracle/odi/V1045135-01.zip; unzip -q /sw/oracle/odi/V1045400-01.zip'
[root@lin7 ~]# # install Fusion Middleware
[root@lin7 ~]# cat > ~oracle/fmw.rsp << EOF
> [ENGINE]
> Response File Version=1.0.0.0.0
> [GENERIC]
> DECLINE_AUTO_UPDATES=true
> ORACLE_HOME=/home/oracle/Oracle/Middleware/Oracle_Home
> INSTALL_TYPE=Fusion Middleware Infrastructure
> EOF
[root@lin7 ~]# su - oracle -c '/usr/bin/java -jar ./fmw_14.1.2.0.0_infrastructure.jar -silent -responseFile ~/fmw.rsp'
Launcher log file is /tmp/OraInstall2025-08-16_02-12-44PM/launcher2025-08-16_02-12-44PM.log.
Extracting the installer . . . . . . . . . . . . . . . . . Done
Checking if CPU speed is above 300 MHz. Actual 3408.002 MHz Passed
Checking swap space: must be greater than 512 MB. Actual 1023 MB Passed
Checking temp space: must be greater than 300 MB. Actual 447310 MB Passed
Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2025-08-16_02-12-44PM
Log: /tmp/OraInstall2025-08-16_02-12-44PM/install2025-08-16_02-12-44PM.log
Copyright (c) 1996, 2024, Oracle and/or its affiliates.
Reading response file..
Skipping Software Updates
Starting check : CertifiedVersions
Expected result: One of oracle-9, redhat-9, oracle-8, redhat-8, SuSE-15
Actual Result: redhat-8.10
Check complete. The overall result of this check is: Passed
CertifiedVersions Check: Success.
Starting check : CheckJDKVersion
Expected result: 17.0
Actual Result: 17.0.15
Check complete. The overall result of this check is: Passed
CheckJDKVersion Check: Success.
Validations are enabled for this session.
Verifying data
Copying Files
Percent Complete : 10
Percent Complete : 20
Percent Complete : 30
Percent Complete : 40
Percent Complete : 50
Percent Complete : 60
Percent Complete : 70
Percent Complete : 80
Percent Complete : 90
Percent Complete : 100
The installation of Oracle Fusion Middleware 14.1.2 Infrastructure 14.1.2.0.0 completed successfully.
Logs successfully copied to /u01/app/oraInventory/logs.
[root@lin7 ~]# # install ODI
[root@lin7 ~]# cat > ~oracle/odi.rsp << EOF
> [ENGINE]
> Response File Version=1.0.0.0.0
> [GENERIC]
> DECLINE_AUTO_UPDATES=true
> ORACLE_HOME=/home/oracle/Oracle/Middleware/Oracle_Home
> INSTALL_TYPE=Enterprise Installation
> EOF
[root@lin7 ~]# su - oracle -c '/usr/bin/java -jar ./fmw_14.1.2.0.0_odi.jar -silent -responseFile ~/odi.rsp'
Launcher log file is /tmp/OraInstall2025-08-16_02-14-46PM/launcher2025-08-16_02-14-46PM.log.
Extracting the installer . . . . . . . . . . . . . . . . Done
Checking if CPU speed is above 300 MHz. Actual 3408.002 MHz Passed
Checking swap space: must be greater than 512 MB. Actual 1023 MB Passed
Checking temp space: must be greater than 300 MB. Actual 443820 MB Passed
Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2025-08-16_02-14-46PM
Log: /tmp/OraInstall2025-08-16_02-14-46PM/install2025-08-16_02-14-46PM.log
Copyright (c) 1999, 2024, Oracle and/or its affiliates. All rights reserved.
Reading response file..
Skipping Software Updates
Starting check : CertifiedVersions
Expected result: One of oracle-9, redhat-9, oracle-8, redhat-8, SuSE-15
Actual Result: redhat-8.10
Check complete. The overall result of this check is: Passed
CertifiedVersions Check: Success.
Starting check : CheckJDKVersion
Expected result: 17.0
Actual Result: 17.0.15
Check complete. The overall result of this check is: Passed
CheckJDKVersion Check: Success.
Validations are enabled for this session.
Verifying data
Copying Files
Percent Complete : 10
Percent Complete : 20
Percent Complete : 30
Percent Complete : 40
Percent Complete : 50
Percent Complete : 60
Percent Complete : 70
Percent Complete : 80
Percent Complete : 90
Percent Complete : 100
The installation of Oracle Data Integrator 14.1.2.0.0 completed successfully.
Logs successfully copied to /u01/app/oraInventory/logs.
[root@lin7 ~]#
Creating the database schemas
Next we create the database users and load the data (Master and work repository)
# run as root
cat > ~oracle/rcu.rsp << EOF
operation=createRepository
connectString=lin7.fritz.box:1521:PDB1.FRITZ.BOX
databaseType=EBR
dbUser=sys
dbRole=SYSDBA
schemaPrefix=DEV
componentList=STB,OPSS,ODI,IAU,IAU_APPEND,IAU_VIEWER,WLS
useSamePasswordForAllSchemaUsers=true
WORK_REPOSITORY_TYPE=D
WORK_REPO_NAME=WORKREP
ENCRYPTION_ALGORITHM=AES-128
EOF
su - oracle -c 'export JAVA_HOME=/usr/lib/jvm/jdk-17.0.15-oracle-x64/
export PATH=$JAVA_HOME/bin:$PATH
{
echo changeme
echo changeme
echo changeme#
echo changeme#
}|/home/oracle/Oracle/Middleware/Oracle_Home/oracle_common/bin/rcu -silent -responseFile ~/rcu.rsp'
Sample Output (click to expand):
[root@lin7 ~]# cat > ~oracle/rcu.rsp << EOF
> operation=createRepository
> connectString=lin7.fritz.box:1521:PDB1.FRITZ.BOX
> databaseType=EBR
> dbUser=sys
> dbRole=SYSDBA
> schemaPrefix=DEV
> componentList=STB,OPSS,ODI,IAU,IAU_APPEND,IAU_VIEWER,WLS
> useSamePasswordForAllSchemaUsers=true
> WORK_REPOSITORY_TYPE=D
> WORK_REPO_NAME=WORKREP
> ENCRYPTION_ALGORITHM=AES-128
> EOF
[root@lin7 ~]# su - oracle -c 'export JAVA_HOME=/usr/lib/jvm/jdk-17.0.15-oracle-x64/
> export PATH=$JAVA_HOME/bin:$PATH
> {
> echo changeme
> echo changeme
> echo changeme#
> echo changeme#
> }|/home/oracle/Oracle/Middleware/Oracle_Home/oracle_common/bin/rcu -silent -responseFile ~/rcu.rsp'
RCU Logfile: /tmp/RCU2025-08-16_15-51_740873544/logs/rcu.log
Processing command line ....
DB TYPE : EBR
Repository Creation Utility - Checking Prerequisites
Checking Global Prerequisites
Silent RCU Model , DB TYPE : EBR
Warning: Default edition "ORA$BASE"
Repository Creation Utility - Checking Prerequisites
Checking Component Prerequisites
Repository Creation Utility - Creating Tablespaces
Validating and Creating Tablespaces
Create tablespaces in the repository database
Repository Creation Utility - Create
Repository Create in progress.
Percent Complete: 12
Percent Complete: 24
Percent Complete: 39
Executing pre create operations
Percent Complete: 51
Percent Complete: 51
Percent Complete: 53
Percent Complete: 55
Percent Complete: 57
Percent Complete: 57
Percent Complete: 57
Creating Common Infrastructure Services(STB)
Percent Complete: 66
Percent Complete: 66
Percent Complete: 76
Percent Complete: 76
Percent Complete: 76
Creating Audit Services Append(IAU_APPEND)
Percent Complete: 84
Percent Complete: 84
Percent Complete: 94
Percent Complete: 94
Percent Complete: 94
Creating Audit Services Viewer(IAU_VIEWER)
Percent Complete: 100
Creating Weblogic Services(WLS)
Creating Audit Services(IAU)
Creating Oracle Platform Security Services(OPSS)
Creating Master and Work Repository(ODI)
Executing post create operations
Repository Creation Utility: Create - Completion Summary
Database details:
-----------------------------
Host Name : lin7.fritz.box
Port : 1521
Service Name : PDB1.FRITZ.BOX
Connected As : sys
Prefix for (prefixable) Schema Owners : DEV
RCU Logfile : /tmp/RCU2025-08-16_15-51_740873544/logs/rcu.log
Component schemas created:
-----------------------------
Component Status Logfile
Common Infrastructure Services Success /tmp/RCU2025-08-16_15-51_740873544/logs/stb.log
Oracle Platform Security Services Success /tmp/RCU2025-08-16_15-51_740873544/logs/opss.log
Master and Work Repository Success /tmp/RCU2025-08-16_15-51_740873544/logs/odi.log
Audit Services Success /tmp/RCU2025-08-16_15-51_740873544/logs/iau.log
Audit Services Append Success /tmp/RCU2025-08-16_15-51_740873544/logs/iau_append.log
Audit Services Viewer Success /tmp/RCU2025-08-16_15-51_740873544/logs/iau_viewer.log
WebLogic Services Success /tmp/RCU2025-08-16_15-51_740873544/logs/wls.log
Repository Creation Utility - Create : Operation Completed
[root@lin7 ~]#
Configure the timezone
These commands set the timezone to Europe/Berlin. By default the timezone is set to PST8PDT.
# adjust the timezone (run as root)
echo 'AddVMOption -Duser.timezone=Europe/Berlin' >> /home/oracle/Oracle/Middleware/Oracle_Home/odi/studio/bin/odi.conf
cat > /tmp/1.sql <<EOF
alter session set container=pdb1;
update dev_odi_repo.snp_loc_rep_t set config_tz_id52211='Europe/Berlin';
commit;
exit
EOF
su - oracle -c 'sqlplus -S / as sysdba @/tmp/1.sql'
Using ODI Studio to create a Java EE Agent
The following steps show how to connect to the master repository and create a Java EE agent. Start the ODI Studio as follows:
# as the oracle user
export JAVA_HOME=/usr/lib/jvm/jdk-17.0.15-oracle-x64/
export PATH=$JAVA_HOME/bin:$PATH
/home/oracle/Oracle/Middleware/Oracle_Home/odi/studio/odi.sh
To add a connection to the master repository we go to File => New and select “Create a New ODI Repository Login”. Fill the fields as shown below (the SUPERVISOR
password is changeme#
and the dev_odi_repo
password is changeme
Use a URL similar to jdbc:oracle:thin:@lin7.fritz.box:1521/pdb1.fritz.box
):

Then click OK. We can set the password of the wallet also to changeme#. Next we connect to the master repository and add the Java EE agent by clicking on Topology and right click on Agents => New Agent: The name of the Agent has to be OracleDIAgent
and the hostname should be set to lin7.fritz.box
in my case. After that save the configuration with File => Save All. The port of the new Agent will be http/20910.
Configuring the domain
The following screenshots show the configuration of the WebLogic domains. After these steps the systems can be started:
# start the Configuration Wizard
cd /home/oracle/Oracle/Middleware/Oracle_Home/oracle_common/common/bin
./config.sh

Just click Next.

In addition to the already selected items select:
- Oracle Enterprise Manager Plug-in for ODI
- Oracle Data Integrator – Agent
- Oracle Data Integrator – JRF Async Web Services
- Oracle Data Integrator – REST Services
- Oracle Data Integrator – Console
Leave “Application Location” uncchanged and click Next. The name of the Administrator should be weblogic
with the password changeme#


Enter changeme
as the password. On the next 2 screens click next.

Enter changeme#
as the password and add the base_domain key as shown. On the next screen select “Administration Server”, “Node Manager” and “Topology” and click next. In the Administration Server screen select the IP address of the machine from the Listen Address menue:

On the next screen enter nm as the Node Manager username with the password changeme#
. On the screen “Managed Servers” select the IP address in the Listen Address column and click next:


Just click next on the following 2 screens. Then add ODI_server1 to ODI_cluster1
:

Click next on the “Coherence Clusters” screen. Then add the Unix machine ODI_machine1
as shown (change the Listen Address to the IP address of the host):


On the next screen click Create to perform the configuration. We can note the location of the new domain and the Admin Server URL:
- Domain Location:
/home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain
- Admin Server URL:
https://11.1.1.195:9002/console
Start and Stop of the Application
First Start of the system
Start of the Node Manager:
su - oracle -c 'nohup /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin/startNodeManager.sh >> /var/tmp/nm.out&'
chmod 640 /var/tmp/nm.out
Then we start the WebLogic Admin Server:
su - oracle -c '/home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin/startWebLogic.sh'
We need to enter weblogic
/changeme#
to start the server. Now we need to wait until the console shows:
<Aug 16, 2025, 6:55:25,890 PM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>
Now we can start the WebLogic Managed Server in another terminal:
su - oracle -c '/home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin/startManagedWebLogic.sh ODI_server1'
Again we need to enter weblogic
/changeme#
as the username/password. The server is started when the console shows something similar to:
<Aug 16, 2025, 7:06:06,514 PM Central European Summer Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>
In order to avoid the username/password entry on each startup we create a boot.properties file. WebLogic will read these files and converts it to encrypted values on the next startup. We will also create start and stop scripts to make this process easier.
# run as root
su - oracle -c'mkdir /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/AdminServer/security
cat > /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/AdminServer/security/boot.properties << EOF
username=weblogic
password=changeme#
EOF
mkdir /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/ODI_server1/security
cat > /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/ODI_server1/security/boot.properties << EOF
username=weblogic
password=changeme#
EOF
'
# Creating start and stop scripts
cat >~/startodi.sh <<EOF
# start the database
su - grid -c 'source grid.env; crsctl start res -all'
# start ODI
su - grid -c 'source grid.env; crsctl start res -all'
# start ODI
su - oracle -c 'nohup /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin/startNodeManager.sh >> /var/tmp/nm.out&'
sleep 10
su - oracle -c 'nohup /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin/startWebLogic.sh 1>>/var/tmp/as.out 2>&1 &'
sleep 120
su - oracle -c 'nohup /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin/startManagedWebLogic.sh ODI_server1 1>>/var/tmp/ms.out 2>&1 &'
EOF
cat >~/stopodi.sh <<EOF
export JAVA_OPTIONS='-Dweblogic.security.TrustKeyStore=DemoTrust'
su oracle -c '/home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin/stopManagedWebLogic.sh ODI_server1'
su oracle -c '/home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin/stopWebLogic.sh'
su oracle -c '/home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin/stopNodeManager.sh'
su - grid -c 'source grid.env; crsctl stop res -all'
EOF
chmod 755 ~/startodi.sh ~/stopodi.sh
We can now use the scripts ~/startodi.sh
and ~/stopodi.sh
to start/stop the system and the database.
Installing the WebLogic Remote Console
The remote console will be installed on the Linux system. It is also possible to install the Windows client.
# run as root
dnf -y install libXScrnSaver
rpm -ihv /sw/oracle/odi/weblogic-remote-console-2.4.17-linux.rpm
We can start the Console by running: weblogic-remote-console
After the first start we configure the connection by selecting: Add Admin Server Connection Provider
:

Regular start and stop of the system
# start of the database and ODI (as root)
~/startodi.sh
# stop of ODI and the database (as root)
~/stopodi.sh
System access
We can access the system and verify that all installed services are running. You can find the URLs and accounts to log in in the table below.
Oracle Enterprise Manager Fusion Middleware Control

Oracle Data Integrator Console

WebLogic Remote Console
Can be started by running: weblogic-remote-console

Accounts and URLs
Username | Password | Remark |
---|---|---|
SUPERVISOR | changeme# | Supervisor |
changeme# | work repository password | |
changeme# | Wallet password | |
dev_odi_repo | changeme | Master and Work repository db schema |
weblogic | changeme# | WebLogic Administrator |
nm | changeme# | Node Manager |
URL | Description | Login |
---|---|---|
https://lin7:9002/em | Oracle Enterprise Manager Fusion Middleware Control | weblogic |
https://11.1.1.195:15102/odiconsole | Oracle Data Integrator Console | SUPERVISOR |
Important Files
File | Description |
---|---|
/var/tmp/nm.out | Logfile of the WebLogic Node Manager |
/var/tmp/as.out | Logfile of the WebLogic Administration Server |
/var/tmp/ms.out | Logfile of the WebLogic Managed Server |
Leave a Reply