This content has been marked as final. Show 5 replies
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
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.
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.