5 Replies Latest reply: Jul 17, 2012 5:31 AM by Pavan. RSS

    Need clustering of ODI 10g

      Hi Gurus,

      We have a requirement in which we need to install Clustering (High Availability) for ODI 10g.

      Can anyone please help me regarding this issue ASAP.

      Any Help is Greatly Appreciable.

      Pavan Kumar.
        • 1. Re: Need clustering of ODI 10g
          Sutirtha Roy

          I do not think that clustering type mechanism is available for ODI10g .
          It was introduced in ODI11g .

          High-Availability could be handled in ODI10g by mixing load balancing and by starting the agent Java processes as windows services.

          You can read more @ https://blogs.oracle.com/dataintegration/entry/whats_new_in_odi_11g_-part1

          • 2. Re: Need clustering of ODI 10g
            Rickson Lewis
            ODI 11g by itself does not have any failover mechanism, ODI uses the fail-over mechanism implemented by the Application Server under which ODI J2EE Agents will be running i.e. if we have an ODI J2EE agent deployed on Weblogic for instance.

            However, we can use the Load Balancing feature in ODI 10g or 11g to attain Pseudo High Availability, which can be implemented in the below mentioned steps,

            1.     On a specific host machine, define a "parent" Agent whose only function is to route ODI Scenario start-up commands to the appropriate "child" Agents.
            2.     Define more than one "child" Agent
            3.     For each "child" Agent on the cluster set the Concurrent Session Number parameter with a large value.
            4.     Open the Load balancing tab of the "parent" Agent and activate the checkbox for the "child" Agents on the cluster nodes (and not for the "parent" Agent itself). Limit the number of sessions on the "parent" Agent to (number of "child" Agents+2).
            5.     Route all ODI Scenario start-up commands and schedules to the "parent" Agent. This Agent will then forward ODI Scenarios to the most suitable child Agent

            Roles of the “Parent” agent:

                 The "parent" Agent should be used to dispatch the executions on its "child" Agents that are alive or running.
                 The "parent" Agent is able to detect that a "child" Agent is no longer running.
                 Also, “parent” Agent is able to detect a "child" Agent that has just been started.

            Note however that, once an execution has started on Agent A, if Agent A "dies", the current execution will NOT be moved on another Agent.

            The "dying" execution should be manually pushed into the queue in order to have the "parent" Agent redistribute it on its still alive "child" Agents.

            One concern is the "parent" Agent:

                 If it dies, the already distributed tasks will continue to be executed on the corresponding "child" Agent.
                 If the "parent" Agent dies, it should be restarted as soon as possible, in order to keep the flow active.
                 Given its very important role, it should be placed on a machine that has a high uptime coefficient. If the machine stops, the Agent should be restarted ASAP.

            Rickson Lewis
            • 3. Re: Need clustering of ODI 10g
              Hi Rickson,

              Thank you very much for the reply..

              I understand a bit from your previous post, can you pls be a bit clear on the Parent and Child Agents (i mean how to configure those) so that it will be more helpful.

              Pavan Kumar.
              • 4. Re: Need clustering of ODI 10g
                Rickson Lewis
                Hi Pavan,

                The below blog must be helpful,


                Please refer to "Load Balancing" Header.

                Parent and child are nothing different in terms of configuring them individually, however the get those names by virtue of how they are configured under "Load Balacing" Tab under the agent Creation Window.

                Rickson Lewis
                • 5. Re: Need clustering of ODI 10g
                  not yet resolved