Installing ODI 11g (including Agents) in High Availability (Active-Active Cluster) : Overview


               Image from Oracle HA Guide

This post covers Oracle Data Integrator (ODI) High Availability (HA) deployment, for overview of ODI 11g components check my previous post here

ODI high availability uses WebLogic ( with Java EE Agent) which give you Load Sharing, Connection Pooling, and ability to re-start automatically using WebLogic Server.  For these reasons my personal recommendation is to move from Standalone Agent (old way of running Agents) to Java EE Agent .

Here are some key points from deploying ODI in High Availability (HA), documentation here

  • ODI in High Availability (HA) requires WebLogic and Coherence (Coherence is part of WebLogic Installer). There are three type of WebLogic Installers a) WebLogic only b) WebLogic with Coherence c) WebLogic with Coherence and OEPE (Eclipse Plug-In)  so use b or c type WebLogic Installer
  • If you are new to WebLogic Domain or WebLogic Cluster feature then first check WebLogic Domain, Managed Server, and Cluster here
  • ODI in High Availability (HA) uses WebLogic’s cluster feature (two or more managed server configured in one cluster) where ODI Java Agent run on each managed server.
  • Coherence is used enable communication among cluster members (two managed servers with Java EE Agent). Coherence cache is also used to handle scheduler life-cycle (scheduler service uniqueness and migration).
  • ODI can be configured in HA either during initial configuration (during WebLogic domain creation) or later (using extend domain feature of WebLogic)
  • Load balancer (or HTTP Server in HA) is configured to forward request to WebLogic Managed Servers (running ODI) in cluster. While defining Agents in ODI Studio, you must use Load Balancer host and port number and NOT individual managed server host/port.

.

High Level Steps to configure ODI in HA

1. Install Oracle RAC Database (this will hold Work and Master Repository Schema)

2. Run RCU to create ODI schema, more on RCU here

3.Install WebLogic on Server1 (this step will create middleware home i.e. MW_HOME)

4. Install ODI on Server1 (install this under MW_HOME), select installation type Java EE Installation

5. Repeat step 3 and 4 on Server2 (If you are intelligent like my client then used shared file system between server1 & server2, then no need to install on server2. Simply register ORACLE_HOME for ODI and oracle_common with oraInventory on server2)

6.On server1, run config.sh from $ODI_ORACLE_HOME/common/bin and select following from domain template

– Oracle Enterprise Manager Plug-in for ODI
–  Oracle Enterprise Manager Plug-in
– Oracle Data Integrator Console
– Oracle Data Integrator Agent
– Oracle JRF

7.  When you come to screen optional configuration screen – select “Managed Server, Cluster and Machines

8. On managed server screen add managed server on second node (screen shown below is from my IDAM 11g book so change setting as per your server and port number)

9. On cluster screen, define a cluster and add these two managed servers in cluster (screen shown below is from my IDAM 11g book  so change setting as per your requirement)

10.After domain creation, configure load balancer (or Oracle HTTP Server – OHS) to forward request to these two managed servers in cluster. If you are planning to use OHS then check steps on how to configure OHS in front of WebLogic Cluster using mod_wl_ohs here

11.Using ODI studio, create Agents in Work Repository (when prompted for hostname and port, use Load balancer or OHS host and port). Use steps mentioned here

12. Create WLS template for Java EE Agent as explained here  . This step will create jar file.

13.Create Credential Store (username password for WebLogic Server and Repository), either via Weblogic Scripting Tool (WLST) or via Enterprise Manager here  (section 2.5.3)

14.Deploy WLS template created in step 12 by running config.sh again and this time select extend domain and in domain source screen select “Base this domain on an existing template” (select jar file created in step 12)

15. Start Managed Servers (MS) i.e. first MS on server1 and second MS on server 2

16. Test ODI Agent by URL http://loadbalancerhost:loadbalancerport/oraclediagent

Doubts or Issues in your ODI implementation? leave your query under comments section 

About the Author Atul Kumar

Oracle ACE, Author, Speaker and Founder of K21 Technologies & K21 Academy : Specialising in Design, Implement, and Trainings.

follow me on:

Leave a Comment:

17 comments
vihang says September 5, 2011

we are trying to implement DR for ODI and OBIEE in clustered environment, Multiple database are connected to ODI on primary. How do we reroute all traffic of primary to DR incase failure of one of the database in primary site.? and what could be the best approach for the implementing and rerouting failed server connections to DR ODI.?

Reply
Atul Kumar says September 5, 2011

@ vihang,
If you are migrating just one database (which is acting as source or target in ODI) then you should use VIP (virtual host) to connect to database in ODI (Thin or Thick connection). If database is migrated to DR then simply point VIP to DR location.

This is simplest and commonly used approach.

Reply
vihang says September 5, 2011

Thanks a lot Atul.

If you can provide your email id, i can send you our solution diagram for review and discuss few things in detail.

Regards,
Vihang

Reply
Atul Kumar says September 5, 2011

@ vihang ,
I can review solution diagram and suggest changes if required but that will be paid consulting. If you are ok then drop me a mail at atul @ online Apps DBA . com (without spaces)

Reply
Jayaram says September 6, 2011

Hi Atul,
I Recently bought your book..Its helps me a lot since am new in Fusion Middle ware world.

Just wanted to know about Oracle Coherence…what exactly it does and how it works in WebLogic…

Can you please brief about this….

Thanks in Advance
Jayaram

Reply
Atul Kumar says September 8, 2011

@ Jayaram,
Coherence application grid, I am going to cover coherence in detail on this blog.

Reply
ShitalZ says August 31, 2012

I followed your steps.But in em under application deployments oraclediagent is down.How to get it up?
Any solution to this?

Reply
Atul Kumar says August 31, 2012

@ ShitalZ,
Did you start ODI managed server in weblogic console ? Are there any errors in managed server log file ?

Reply
ShitalZ says September 3, 2012

@Atul Kumar
Yes i started managed server and its in running mode.But what do you mean by ‘start ODI managed server in weblogic console?’.And there are no error in managed server log files.

Reply
Clustering ODI11g for High-Availability Part 1 : Introduction and Architecture | Strategic HR says November 7, 2012

[…] Installing ODI 11g (including Agents) in High Availability (Active-Active Cluster) : Overview by Atul Kumar […]

Reply
ZT says April 27, 2013

Atul, can i configure ODI agents and web services with Load Balancing only and not creating WL cluster. I have another weblogic application load balanced and I don’t want to disturd the existing deployment.

Reply
DeeRock says September 20, 2013

Hi, Great blog i have to say.

I was wondering if you have any recommendations on ODI 11G and Disaster Recovery..How should it be carried out and a discriptive summary of operational process to kick start the other site up if one happen to have been nooked.

Thanks

Dee

Reply
Ben says March 27, 2015

Hi Atul,

Thanks for a great blog. Helps a lot. One question: Do you have any more details as to how you do this, step 5:

“If you are intelligent like my client then used shared file system between server1 & server2, then no need to install on server2. Simply register ORACLE_HOME for ODI and oracle_common with oraInventory on server2”.

I’m using a shared file system in a forthcoming release. I’m not completely sure on the steps for registering oracle_home for ODI and oracle_common with oraInventory on server2.

Much appreciated, thanks, Ben

Reply
Parag says June 4, 2015

Can you please clarify if it’s possible to setup ODI HA without Web tire ?
I mean only Hardware Load Balancer will be there and this will load balance the incoming requests directly to the Managed servers. Is it possible or we must have Oracle Http Server or Web tire for software load balancing . ?

Reply
    Atul Kumar says June 4, 2015

    @Parag,
    Yes you can configure ODI in HA without WebTier. Hardware load balancer can forward directly to ODI managed servers and this setup can be done without OHS or Web Tier .

    Reply
Parag says June 14, 2015

Hi Atul ,

It will be very helpful if you can provide me a detail installation and configuration guide of OHS as a software loadbalancer .

Thanks ,
Parag

Reply
avik says July 7, 2015

I am invoking the ODI webservice with startscen operation. ut What i see is 2 sessions getting generated for each invocation. My environment is a cluster one with two nodes. Please help

Reply
Add Your Reply

Not found