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

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
Alle Beiträge von Neselovskyi, Borys

Borys Neselovskyi is a leading Infrastructure Architect at OPITZ CONSULTING - a German Oracle Platinum Partner. Since Februar 2019 he is an Oracle ACE. Borys field of work includes the conceptual design and implementation of infrastructure solutions based on Oracle Database/Middleware/Engineered Systems/Virtualization. He is also a frequent speaker at conferences (with live demos about Oracle software, sessions, panels, etc.).

Schreibe einen Kommentar