This article profiles the use of Oracle Data Integrator (ODI) from high availability and fail-over perspective. Before doing this, let's see how ODI works from a single node installation point of view.
ODI provides a unified run-time architecture using Java components. The run-time architecture consists of the following components:
1. Repository
The Repository consists of the design-time objects (interfaces, packages) and run-time objects (load plans, scenarios).
2. Run-time Agents
Run-time agents are the components that execute a session (load plan/scenarios). Run-time agents can be a standalone agents or Java EE agents.
3. ODI Console
The ODI Console is a web application user interface (UI) that allows users to browse, manage and monitor the components of the repository.
The figure is shown below (referenced from oracle documentation), which describes a single node installation of an ODI application.
ODI agents process a load plan execution instance as a session and a separate java thread is created for the execution of each load plan/scenario.
The agent creates a session in the repository corresponding to the scenario instance.
Then creates a connection to the master repository to obtain the credentials to the work repository.
Gets the work repository information that is required for the execution of the thread and executes accordingly.
Then writes the result (return code, duration, rows processed, etc.) back to the repository.
The scenario mentioned above is a simple description of Oracle Data Integrator in a single node installation. Now, let’s move over to using the Oracle Data Integrator in high availability and a failover environment.
The figure below (referenced from Oracle documentation), shows a two-node ODI cluster installation for load balancing, high availability, and failover.
ODI’s master and work repository database is configured with Oracle Real Application Clusters, most commonly known as Oracle RAC, to avoid database failures.
1. Weblogic Server Crash
2. Repository Database Failure
3. Scheduler Node Failure
1. Create the ODI master and work repositories in an Oracle RAC database using the Oracle Fusion Middleware Repository Creation Utility (RCU)
2. Install and Configure the first ODI Node (Application Node A)
3. Install and Configure the second ODI Node (Application Node B)
4. Install and configure the Oracle HTTP server on two other hosts (Web Node A and Web Node B)
5. Configure the load balancer for round robin requests across the two HTTP servers and verify the ODI agent is running by using the following URL in a web browser: http://<load_balancer_host>:<port_configured>/<web_application_context>
6. Once the load balancer is configured, you would need to configure the default agent by connecting to the ODI Studio and pointing the agent properties to the load balancer URL properties.
Keith Mascarenhas is a data warehousing and business intelligence enthusiast. As a senior-level consultant for KPI Partners, Keith has participated in some of the most complex deployments of OBIEE, Oracle BI Applications, and Informatica in the world. His expertise also includes Oracle Data Integrator (ODI), Cognos, and Oracle Warehouse Builder (OWB). Check out Keith's blog at KPIPartners.com.