This document describes the installation of Oracle Data Integrator Version 12.1.3 on the Linux (OEL) Server.
Prepare the Installation
Minimal Server Requirements
Check the Oracle Documentation for the Prerequisites. Your Server must have following (min.) Settings;
RAM: 8 GB
Disk: 20 GB
Temp: 2 GB
Swap: 8 GB
Enable Unicode Support
Oracle Documentation:
Your operating system configuration can influence the behavior of characters supported by Oracle Fusion Middleware products.
On UNIX operating systems, Oracle highly recommends that you enable Unicode support by setting the LANG and LC_ALL environment variables to a locale with the UTF-8 character set. This enables the operating system to process any character in Unicode
Check if Unicode is enable on the Server:
[root@myodisrv ]# locale LANG=de_DE.UTF-8 LC_CTYPE="de_DE.UTF-8" LC_NUMERIC="de_DE.UTF-8" LC_TIME="de_DE.UTF-8" LC_COLLATE="de_DE.UTF-8" LC_MONETARY="de_DE.UTF-8" LC_MESSAGES="de_DE.UTF-8" LC_PAPER="de_DE.UTF-8" LC_NAME="de_DE.UTF-8" LC_ADDRESS="de_DE.UTF-8" LC_TELEPHONE="de_DE.UTF-8" LC_MEASUREMENT="de_DE.UTF-8" LC_IDENTIFICATION="de_DE.UTF-8" LC_ALL=
Kernel Parameter
Set the Value for the Parameter SHMMAX to min. 4294967295 (as root):
vi /etc/sysctl.conf kernel.shmmax = 4294967295
Apply changes:
/sbin/sysctl -p
Kernel und Packages
Supported Linux Oracle Linux 6 (UL1+) x86 64-bit Operating System Versions, Packages, and Patches:
Kernel: 2.6.32-100.2 8.5.el6
Packages:
binutils-2.20.51.0.2-5.28.el6 compat-libcap1-1.10-1 compat-libstdc++-33-3.2.3-69.el6 for x86_64 compat-libstdc++-33-3.2.3-69.el6 for i686 gcc-4.4.4-13.el6 gcc-c++-4.4.4-13.el6 glibc-2.12-1.7.el6 for x86_64 glibc-2.12-1.7.el6 for i686 glibc-devel-2.12-1.7.el6 for i686 libaio-0.3.107-10.el6 libaio-devel-0.3.107-10.el6 libgcc-4.4.4-13.el6 libstdc++-4.4.4-13.el6 for x86_64 libstdc++-4.4.4-13.el6 for i686 libstdc++-devel-4.4.4-13.el6 libXext for i386 libXtst for i386 libXi for i386 openmotif-2.2.3 for x86_64Footref 2 openmotif22-2.2.3 for x86_64Footref 2 redhat-lsb-4.0-3.el6 for x86_64 sysstat-9.0.4-11.el6 uln-internal-setup-1.0.1-1.el6.noarch.rpm
Are the Packages already installed (as root):
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils
binutils-2.20.51.0.2-5.42 .el6 (x86_64) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' compat-libcap1 compat-libcap1-1.10-1 (x86_64) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' compat-libstdc++-33 compat-libstdc++-33-3.2.3-69.el6 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (i686) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' gcc gcc-4.4.7-11.el6 (x86_64) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' gcc-c++ gcc-c++-4.4.7-11.el6 (x86_64) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' glibc glibc-2.12-1.149.el6 (x86_64) glibc-2.12-1.149.el6 (i686) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' glibc glibc-2.12-1.149.el6 (x86_64) glibc-2.12-1.149.el6 (i686) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' glibc-devel glibc-devel-2.12-1.149.el6 (x86_64) glibc-devel-2.12-1.149.el6 (i686) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libaio libaio-0.3.107-10.el6 (x86_64) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libaio-devel libaio-devel-0.3.107-10.el6 (x86_64) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libgcc libgcc-4.4.7-11.el6 (x86_64) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libstdc++ libstdc++-4.4.7-11.el6 (x86_64) libstdc++-4.4.7-11.el6 (i686) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libstdc++-devel libstdc++-devel-4.4.7-11.el6 (x86_64) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libXext libXext-1.3.2-2.1.el6 (x86_64) libXext-1.3.2-2.1.el6 (i686) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libXtst libXtst-1.2.2-2.1.el6 (x86_64) libXtst-1.2.2-2.1.el6 (i686) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libXi libXi-1.7.2-2.2.el6 (x86_64) libXi-1.7.2-2.2.el6 (i686) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' openmotif openmotif-2.3.3-8.el6 (x86_64) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' openmotif22 openmotif22-2.2.3-19.el6 (x86_64) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' redhat-lsb redhat-lsb-4.0-7.0.1.el6 (x86_64) rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' sysstat sysstat-9.0.4-27.el6 (x86_64)
.. if not: search the missing package with „yum search “ and install „yum install …“
NTPL Installation
If you plan to use the Oracle HTTP Server, the operating system needs to set Native POSIX Threads Library (NPTL) as the default threads-implementation. To check for this, run the following command:
getconf GNU_LIBPTHREAD_VERSION
Expected min. value: „NTPL 2.3.4“
Set the OS Limits
Set open file limit to min. 4096:
Check this with Commando ulimit:
$ ulimit -n
Change OS Limits in two files (as root):
vi /etc/security/limits.conf
* soft nofile 4096 * hard nofile 65536 * soft nproc 2047 * hard nproc 16384
vi /etc/security/limits.d/90-nproc.conf
root soft nproc unlimited pcube soft nproc 10240 * soft nofile 4096 * hard nofile 65536 * soft nproc 2047 * hard nproc 16384
Create User and Group for the ODI Installation
groupadd -g 1001 oinstall useradd -u 501 -g oinstall -d /home/oracle -m -s /bin/bash oracle
Configure the Oracle Environment
Set umask for OS User oracle to „027“:
su "“ Oracle echo "umask 027" >> .bash_profile
Create Installation Directories and download the Software
As OS User oracle:
cd /u01/app/oracle/ mkdir ODI_Software mkdir -p MW_ODI/JAVA chmod -R 775 MW_ODI ODI_Software cd /u01/app/oracle/ODI_Software mkdir WLS_12.1.3 JDK ODI_12.1.3
Download the Software
-
jdk1.7.0_85
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
-
WebLogic Server 12.1.3
Go to „Oracle Software Delivery Cloud“ https://edelivery.oracle.com
Choose Product und Platform and prsee „Continue“
Enable „Oracle Fusion Middleware 12c Infrastructure (12.1.3):
And download the file.
-
Patch 20838345: WLS PATCH SET UPDATE 12.1.3.0.4
Go to MOS (My Oracle Support): https://support.oracle.com adownload the patch:
-
ODI 12.1.3
http://www.oracle.com/technetwork/middleware/data-integrator/downloads/index.html
Copy the Software to directories:
mv fmw_12.1.3.0.0_infrastructure_Disk1_1of1.zip WLS_12.1.3 mv p20838345_121300_Generic.zip WLS_12.1.3 mv fmw_12.1.3.0.0_odi_Disk1_1of1.zip ODI_12.1.3 mv p13079846_17000_Linux-x86-64.zip JDK mv obi_LINUXX64_11.1.1.9.0_4of5.zip OBI_11.1.1.9 mv obi_LINUXX64_11.1.1.9.0_5of5.zip OBI_11.1.1.9 mv rcuHome.zip RCU_11.1.1.9
Enterprise Installation ODI 12.1.3
JDK 1.7 Installation
Important: run all the Steps as OS User oracle:
cd /u01/app/oracle/ODI_Software/JDK unzip p13079846_17000_Linux-x86-64.zip cd /u01/app/oracle/ODI_JAVA tar xvfz /u01/app/oracle/ODI_Software/JDK/jdk-7u85-linux-x64.tar.gz mv jdk1.7.0_85 jdk touch jdk1.7.0_85
Verify the JDK Installation:
cd /u01/app/oracle/ODI_JAVA/jdk/bin ./java "“version
Output:
java version "1.7.0_85" Java(TM) SE Runtime Environment (build 1.7.0_85-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.85-b06, mixed mod
WebLogic Server 12.1.3 Installation
Important: run all the Steps as OS User oracle:
cd /u01/app/oracle/ODI_Software/WLS_12.1.3 unzip fmw_12.1.3.0.0_infrastructure_Disk1_1of1.zip export JAVA_HOME=/u01/app/oracle/ODI_JAVA/jdk $JAVA_HOME/bin/java -jar fmw_12.1.3.0.0_infrastructure.jar
Check the Inventory Directory and press „OK“:
Next
Determine the Oracle (Middleware) Home:
Choose „Fusion Middleware Infrastructure“ and press „Next“
all checks must be successful“¦ „Next“
„¦ „Install“
Check the WebLogic Server Installation:
cd /u01/app/oracle/MW_ODI/wlserver/server/bin source setWLSEnv.sh java weblogic.version "“verbose
Output:
WebLogic Server 12.1.3.0.0 Wed May 21 18:53:34 PDT 2014 160433
Installation Patch 20838345: WLS PATCH SET UPDATE 12.1.3.0.4
Important: run all the Steps as OS User oracle:
cd /u01/app/oracle/ODI_Software/WLS_12.1.3 unzip p20838345_121300_Generic.zip cd 20838345 export JAVA_HOME=/u01/app/oracle/ODI_JAVA/jdk export PATH=/u01/app/oracle/MW_ODI/OPatch:$PATH mkdir -p /opt/oraclebi/product/MW_ODI/Oracle_Home/OPatch/inventory opatch apply -jdk $JAVA_HOME ... OPatch succeeded.
Verify the Installation:
export PATH=/u01/app/oracle/MW_ODI/OPatch:$PATH opatch lsinv
Output:
Interim-Patches (1) : Patch 20838345 : applied on Tue Sep 22 12:30:51 CEST 2015 Unique Patch ID: 18910091 Patch description: "WebLogic Server 12.1.3.0.4 PSU Patch for BUG20838345 July 2015" Created on 20 May 2015, 21:43:06 hrs PST8PDT
Bugs fixed: 19265688, 18305935, 20523619, 18276961, 18671042, 18727635, 18964349 19988824, 19066738, 18289179, 18729264, 17012341, 18538501, 19339238 20266379, 20814890, 20906638, 18432174, 19268444, 19033547, 18859387 20985893, 18589879, 19942900, 19576633, 18753794, 18968900, 18691894 19287842, 21107126, 18376812, 19730967, 18912482, 19287874, 19533331 17721032, 18481239, 19556868, 21069524, 19852007, 19936917, 19459949 18922324, 20206879, 19080525, 19907066
Installation ODI 12.1.3
Important: run all the Steps as OS User oracle:
cd /u01/app/oracle/ODI_Software/ODI_12.1.3 unzip fmw_12.1.3.0.0_odi_Disk1_1of1.zip export JAVA_HOME=/u01/app/oracle/ODI_JAVA/jdk $JAVA_HOME/bin/java -jar fmw_12.1.3.0.0_odi.jar
Choose Enterprise-Installation
Prerequisite Checks -> „Next“
Press „Install“ to install the ODI Software:
Configure Database Schemas: RCU Configuration
Important: run all the Steps as OS User oracle:
Prerequisites:
The Database is already installed (in my case 12c Database)
RDBMS Version: 12.1.0.2.0 Required Option: JVM Datenbank Benutzer: SYS Zeichensatz: AL32UTF8
Start Repository Creation Utility:
export JAVA_HOME=/u01/app/oracle/ODI_JAVA/jdk cd /u01/app/oracle/MW_ODI/oracle_common/bin ./rcu
Welcome „“> Next
Choose „Create Repository“, then „System Load and Product Load“:
Database Connection Details:
- database server name or IP address
- database listener port
- database service name
- database user (with DBA or SYSDBA Rights)
The following screen will appear“¦ „OK“
Choose Components: „AS Common Schemas“ and „Oracle Data Integrator“
Define Prefix and click on „Next“
Checking Prerequisites -> „Ok“
Set password for database users“¦
Define:
- Supervisor Password
- Work Repository Type: ,choose E (for execution) or D (or development)
- Work Repository Password
Map and create tablespaces“¦
Details“¦ „Create“
done
Configuration: Create the ODI Domain
Important: run all the Steps as OS User oracle:
Configuring the Domain for the Java EE Agent
cd /u01/app/oracle/MW_ODI/odi/common/bin ./config.sh
Enable „Create a new domain“ and choose the location:
Enable following Templates:
- Basic WebLogic Server Domain „“ 12.1.3.0 [wlserver]*
- Oracle Enterprise Manager Plugin for ODI – 12.1.3.0 [em]
- Oracle Enterprise Manager – 12.1.3.0 [em]
- Oracle Data Integrator – Agent – 12.1.3.0 [odi]
- Oracle Data Integrator – Agent Libraries – 12.1.3.0 [odi]
- Oracle Data Integrator SDK Shared Library Template – 12.1.3.0 [odi]
- Oracle Data Integrator – Console – 12.1.3.0 [odi]
- Oracle JRF – 12.1.3.0 [oracle_common]
- WebLogic Coherence Cluster Extension – 12.1.3.0 [wlserver]
Next“¦
Enable „Production Mode“
Add the database connection information for schema _STB (configured via repository creation utility RCU).
Check the database connection information (schema, passwords, database service, listener port and hostname): created via RCU:
Add Supervisor username and password (created via RCU):
„¦
Configure Admin Server:
Configure Node Manager:
Configure ODI Managed Server:
Next (configuration without cluster):
Leave default:
Configure Unix Machine:
Add the AdminServer and ODI_server1 to the unix machine:
Add System Component: ODI:
Configure ODI System Component:
Add ODI System Component to the Unix Machine (Node Manager):
Check Configuration Summary and press „Create“:
The Domain Creation is complete!
Check the ODI Installation
Check following URL’s in the Internet Browser:
WLS Konsole: http://:8001/console
EM Konsole: http://:8001/em
ODI Konsole: http://:15200/odiconsole
Postinstallation Tasks
WebLogic Server configuration
Wichtig: Important: run all the Steps as OS User oracle:
- Create the file boot.properties:
mkdir -p /u01/app/oracle/MW_ODI/user_projects/domains/odi_domain/servers/AdminServer/securiy echo -e "username=weblogic\npassword=welcome1" > /u01/app/oracle/MW_ODI/user_projects/domains/odi_domain/servers/AdminServer/security/boot.properties
- Start WLS Services
cd /u01/app/oracle/MW_ODI/Oracle_Home/user_projects/domains/odi_domain/bin source ./setDomainEnv.sh java weblogic.WLST wlst> nmConnect('nodemgr','welcome1', '','5700','odi_domain','/u01/app/oracle/MW_ODI/user_projects/domains/odi_domain','ssl') wlst> nmStart('AdminServer') wlst> nmStart('ODI_server1')
Node Manager configuration
Important: run all the Steps as OS User oracle:
Edit the file nodemanager.properties:
cd /u01/app/oracle/MW_ODI/user_projects/domains/odi_domain/nodemanager/ vi nodemanager.properties
Change following rows (red):
#Node manager properties #Tue Sep 22 19:08:08 CEST 2015 DomainsFile=/u01/app/oracle/MW_ODI/user_projects/domains/odi_domain/nodemanager/nodemanager.domains LogLimit=0 PropertiesVersion=12.1 AuthenticationEnabled=true NodeManagerHome=/u01/app/oracle/MW_ODI/user_projects/domains/odi_domain/nodemanager JavaHome=/u01/app/oracle/ODI_JAVA/jdk LogLevel=INFO DomainsFileEnabled=true StartScriptName=startWebLogic.sh ListenAddress=xxx.xxx.xxx.xxx NativeVersionEnabled=true ListenPort=5700 LogToStderr=true SecureListener=true LogCount=1 StopScriptEnabled=false QuitEnabled=false LogAppend=true StateCheckInterval=500 CrashRecoveryEnabled=true StartScriptEnabled=true LogFile=/u01/app/oracle/MW_ODI/user_projects/domains/odi_domain/nodemanager/nodemanager.log LogFormatter=weblogic.nodemanager.server.LogFormatter ListenBacklog=50
Start the Node Manager:
cd /u01/app/oracle/MW_ODI/user_projects/domains/odi_domain/bin nohup ./startNodeManager.sh &
Create Start Stop Scripts
Important: run all the Steps as OS User oracle:
Das Verzeichnis /u01/app/oracle/etc erstellen:
mkdir /u01/app/oracle/etc
Create following scripts::
cd /u01/app/oracle/etc ls /u01/app/oracle/etc wls_start_stop_odi.sh wls_start_odi.py wls_stop_odi.py
The Main-Script wls_start_stop_obi.sh usage:
./wls_start_stop_odi.sh [start|stop]
The script /opt/oraclebi/etc/wls_start_stop_odi.sh:
#!/bin/bash ORACLE_BASE=/u01/app/Oracle export ORACLE_BASE MW_HOME_ODI=${ORACLE_BASE}/MW_ODI export MW_HOME_ODI DOMAIN_HOME_ODI=${MW_HOME_ODI}/user_projects/domains/odi_domain export DOMAIN_HOME_ODI JAVA_HOME=${ORACLE_BASE}/ODI_JAVA/jdk export JAVA_HOME WORK_DIR=${ORACLE_BASE}/etc export WORK_DIR case "$1" in start) nohup ${DOMAIN_HOME_ODI}/bin/startNodeManager.sh & sleep 120 source ${DOMAIN_HOME_ODI}/bin/setDomainEnv.sh java weblogic.WLST ${WORK_DIR}/wls_start_odi.py ;; stop) source ${DOMAIN_HOME_ODI}/bin/setDomainEnv.sh java weblogic.WLST ${WORK_DIR}/wls_stop_odi.py ${DOMAIN_HOME_ODI}/bin/stopNodeManager.sh sleep 60 pkill -f MW_ODI ;; *) echo "usage: $0 [start|stop]" exit 2 ;; esac
The Script /u01/app/oracle/etc/wls_start_odi.py:
nmConnect('nodemgr','welcome1', '','','odi_domain','/opt/oraclebi/product/MW_ODI/Oracle_Home/user_projects/domains/odi_domain','ssl') nmStart('AdminServer') nmStart('ODI_server1')
The Script /u01/app/oracle/etc/wls_stop_bi.py:
nmConnect('nodemgr','welcome1', '','','odi_domain','/opt/oraclebi/product/MW_ODI/Oracle_Home/user_projects/domains/odi_domain','ssl') nmKill('ODI_server1') nmKill('AdminServer')
set the permission:
chmod -R 755 /u01/app/oracle/etc
Configuring Autostart
As root:
Create the Script /etc/init.d/odiora:
# # chkconfig: 35 99 10 # description: Start and stop the Oracle Fusion Middleware # WORK_DIR=/u01/app/oracle/etc export WORK_DIR ORA_OWNER=Oracle export ORA_OWNER if [ ! -f $WORK_DIR/wls_start_stop_odi.sh \ -o ! -f $WORK_DIR/wls_start_odi.py \ -o ! -f $WORK_DIR/wls_stop_odi.py ] then echo "Oracle startup / shutdown: cannot start / stop" exit fi case "$1" in 'start') # Start the Oracle Fusion Middleware su - $ORA_OWNER -c "$WORK_DIR/wls_start_stop_obi.sh start" su - $ORA_OWNER -c "$WORK_DIR/wls_start_stop_odi.sh start" touch /var/lock/subsys/fmwora ;; 'stop') # Stop the Oracle Fusion Middleware su - $ORA_OWNER -c "$WORK_DIR/wls_start_stop_obi.sh stop" su - $ORA_OWNER -c "$WORK_DIR/wls_start_stop_odi.sh stop" rm -f /var/lock/subsys/fmwora ;; esac
File permissions:
chmod 700 /etc/init.d/odiora
Configure autostart:
cd /etc/init.d /sbin/chkconfig --add odiora
Check:
cd /etc/init.d /sbin/chkconfig --list odiora
Output:
fmwora 0:off 1:off 2:off 3:on 4:off 5:on 6:off