Oracle by Example brandingODI 12c - Creating a Standalone Agent

section 0Before You Begin

This tutorial shows you how to use Oracle Data Integrator Studio (ODI Studio) graphical tools to create a standalone agent (that is, no WLS is installed) to support (among other things) scheduling of procedures. Once created and configured, the agent runs without the Studio GUI.This tutorial takes approximately 20 minutes to complete.

Background

A common task that is performed using ODI is to set up and install an ODI Agent. After the ODI scenarios are created, they can be scheduled and orchestrated using an ODI Agent, which is a lightweight Java process that orchestrates the execution of ODI scenarios. This tutorial helps you through the steps that are needed to set up and install the ODI Agent.

What Do You Need?

Software Requirements

The following is a list of software requirements:

  1. A supported operating system
  2. Oracle Database
  3. Oracle Data Integrator (ODI) 12c installer executed as ODI Standalone to install ODI Standalone Agent
  4. Optional Software - Oracle SQL Developer 12c (included with Database 12c install)
  5. Note: This OBE presumes that WebLogic Server (WLS) is not present in the Middleware home for ODI Standalone. If you do have WLS installed and licensed, and want to only install ODI once, then see alternate OBE here.

Prerequisites

Before starting this tutorial, you should have:

  • Started Oracle Database services and components such as the Listener.
  • A Database user with DBA role privileges such as the SYS or SYSTEM account.
  • Already installed and configured ODI Master and Work repositories
  • Already created an ODI project and mapping for a flat file to a relational table

section 1Creating the Domain for the Standalone Agent

The agent in this OBE runs in a domain that is very similar to (but not dependent on) WebLogic Server (WLS) domains. The GUI Configuration Wizard uses templates to determine which components are needed to support the function of the agent. There are three possible kinds of agents:

  • completely standalone agent (no WLS installed. This OBE uses this kind of agent.)
  • standalone collocated agent (WLS is installed and the agent is started as its own binary.)
  • JEE agent (WLS installed and used. The domain, admin server, managed servers, node managers, and so on are started in the normal WLS way. The agent is one of many possible JEE apps running in the domain.)

To create the standalone agent requires ODI Studio running (so that you can configure the agent), and a Standalone ODI deployment that has no user interface. When you see OS prompts below, be mindful of whether they are my_ent_host (Enterprise) where the Studio GUI is, or my_std_host (Standalone) where the database is. To create the domain for the agent, perform the following steps:

Basic Configuration

To create a domain for the agent, you need to start the Fusion Middleware (FMW) Configuration Wizard on the host with ODI Standalone installed.

  1. Navigate to the /oracle_common/common/bin directory:
    • (UNIX) ORACLE_HOME/oracle_common/common/bin
    • (Windows) ORACLE_HOME\oracle_common\common\bin
    • where ORACLE_HOME is your 12c Oracle home.

  2. Execute the following command to start the Configuration Wizard:
    • (UNIX) ./config.sh
    • (Windows) config.cmd
  3. For most of the non-Advanced configuration, the defaults are adequate. On the Configuration Type panel, leave the defaults. Click Next to continue.
  4. If you do not yet have a WLS domain, then the first one created will be called base_domain by default. You can rename it to something such as odi_agent or mydomain99, just make sure that it remains in $FMW_HOME/user_projects/domains/. If you already have a domain named base_domain, then you cannot "create" another one. You would have to rename it to base_domain2 or something else, or you could Update an existing domain. The particulars about updating an existing domain are outside the scope of this OBE, and are covered in the WLS curriculum.

  5. On the Templates panel, select Oracle Data Integrator - Standalone Agent. It is "standalone" in the sense that it does not use WLS. Click Next to continue.
  6. On the JDK Selection panel, leave the defaults. Click Next to continue.
  7. On the Database Configuration Type panel, change the Service to the database service (not database instance), such as orcl.exampledomain.com. Change the Host Name to localhost and change the Schema Password to the password for DEV_STB that you picked when you ran RCU.
  8. Click Get RCU Configuration to continue, staying on this panel. The Connection Result Log should end with Successfully Done. Click Next to continue.
  9. On the JDBC Component Schema panel, leave the defaults. Click Next to continue.
  10. On the JDBC Component Schema Test panel, leave the defaults. The Connection Result Log should end with Test Successful! Click Next to continue.

In summary, you have completed the first half, the basic part of the configuration. You must continue with the second half, the advanced configuration.

Advanced Configuration

  1. On the System Components panel, leave the defaults. Click Next to continue.
  2. On the ODI Server Configuration panel, make a note of the Port (you will need that number later), and change the Supervisor Password to the password you picked when you ran RCU. Click Next to continue.
  3. On the Node Manager panel, you have to put in something for credentials, but it does not need to match anything else. Click Next to continue.
  4. On the Configuration Summary panel, leave the defaults. Click Create to make the domain and continue.
  5. On the Configuration Progress panel, there is nothing to do. Just make sure that it ends with the progress bar at 100% and with the message "Domain Created Successfully!". Click Next to continue.
  6. On the Configuration Success panel, there is nothing to do. Click Finish to end the Configuration Wizard and return to the OS prompt.

In summary, you completed both halves of the domain configuration. This created several directories with configuration files and scripts.


section 2Creating a Physical Agent

The physical agent is a background OS process that communicates with ODI via TCP/IP ports. To create the standalone agent requires ODI Studio running (so that you can configure the agent), and a Standalone ODI deployment that has no user interface. When you see OS prompts below, be mindful of whether they are my_ent_host (Enterprise) where the Studio GUI is, or my_std_host (Standalone) where the database is.

To create, start, and test the physical agent, perform the following steps:

Creating a Physical Agent

  1. Start ODI Studio by running odi.sh on the host with ODI Enterprise installed. The splash screen and progress bar displays briefly.
  2. On the Designer or Topology tab, click Connect To Repository...
  3. On the Enter Wallet Password dialog box, enter the password you chose when you installed ODI. Click OK to continue.
  4. On the Oracle Data Integrator Login dialog box, enter the Supervisor's password you chose when you installed ODI. It may be pre-populated for you. Click OK to continue.
  5. On the Topology tab, expand Physical Architecture, then expand Agents. Right-click Agents and select New Agent. An unnamed Agent panel opens on the right.
  6. On the Agent panel, on the Definition tab, in Name, enter the name that matches the agent you created with the earlier domain wizard: OracleDIAgent1.
  7. In Port, enter the port that matches the agent you created with the earlier domain wizard: 20910.
  8. Verify that Host is correct. If you are doing everything on one host with different Middleware Home directories, then you can use localhost for host (likely you install ODI twice on the same host only for testing proof-of-concept.) More likely in a production environment, you have two different hosts: one with ODI Standalone (that is the host that goes here), and the other host with Studio (which is not the host for here).
  9. Save your work but do not close the panel. Leave the panel open. You should now see the new agent display on the left under Topology > Physical Architecture > Agents.

In summary, you created the physical agent configuration for within ODI. This points to the executables created in the previous steps.

Starting the Standalone Agent Using Node Manager

In this method, you need to start Node Manager first and then start the standalone agent.

  1. Navigate to the following directory:
    • (UNIX) setenv JAVA_HOME /home/Oracle/Java/jdk1.8.0_131
    • (Windows) set JAVA_HOME=C:\home\Oracle\Java\jdk1.8.0_131
  2. Enter the following command:
    • (UNIX) Using nohup and nm.out as an example output file:
    • nohup ./startNodeManager.sh > LOG_DIR/nm.out

      where LOG_DIR is the location of the directory in which you want to store the log files.

    • (Windows) startNodeManager.cmd
  3. Go to the DOMAIN_HOME/bin directory.
  4. Start the agent:
    • (UNIX) ./startComponent.sh OracleDIAgent1
    • (Windows) startComponent.cmd OracleDIAgent1
  5. At the prompt, enter the Administrator password for the domain.

Starting the Standalone Agent Without Node Manager

In this method, you can start the standalone agent using the agent command.

  1. On the host with ODI Standalone installed, change to the directory of the domain that contains the binary files.
  2. Start the agent using the agent name from the domain as shown below:
    • (UNIX) ./agent.sh -NAME=OracleDIAgent1
    • (Windows) agent.cmd -NAME=OracleDIAgent1
    • where -NAME must be entered in all capital letters and the name of the agent (in this example, OracleDIAgent1) is case-sensitive.

  3. Leave that window running (perhaps minimized or sent to the back of the desktop).

Note that this looks like a subset of a WebLogic Server (WLS) install. It is not a WLS install, but does use many of the same components. The very first time you run this, you will get LOTS of output as Java initializes. In subsequent run times, the messages will be fewer. You want to see at the bottom that the scheduler has started for the correct work repository.

Testing the Physical Agent

  1. In the OracleDIAgent1 Agent panel (which was left open as mentioned earlier), click Test. This allows you to test the agent now that the process is running outside of ODI. The ODI Information dialog box should say, "Agent Test Successful".
  2. Click OK to continue. You may now close the OracleDIAgent1 tab.

In summary, you have configured and started a physical agent.


section 3Creating a Logical Agent

Most components in ODI have a physical and logical side to them. You already created the physical agent with ports and names. The logical agent is much simpler and shorter.

To create a logical agent that corresponds with the previous physical agent, perform the following steps:

  1. On the Topology tab, expand Logical Architecture, then expand Agents.
  2. Right-click Agents and select New Logical Agent. An unnamed Logical Agent panel displays on the right.
  3. On the Logical Agent panel, on the Definition tab, in Name, enter MyAgent. In the Physical Agents pull-down, select OracleDIAgent1.
  4. Save your work. You should now see the new agent display on the left under Topology > Logical Architecture > Agents.

You can close all the open tabs on the right.

In summary, you created a logical agent to match the previous physical agent.


more informationWant to Learn More?

In this tutorial, you should have learned how to:

  • Use the Configuration Wizard to create and configure a domain
  • Use ODI Studio to create a physical agent
  • Start the physical agent background process from the OS prompt
  • Use ODI Studio to create a logical agent that corresponds to the physical agent

Resources

The following are conceptual or procedural Help topics relevant to the topic of this tutorial:

  • Online documentation, viewlets, samples, and OLN URLs on OTN:
    • Current version: here
    • Older versions: here
  • External Web sites for related information:
  • To learn more about Oracle Data Integrator 12c, refer to additional OBEs in the Oracle Learning Library, or on the ODI Studio Start Page.

Credits

  • User Assistance Developer: Minu Nair
  • Other Contributors: Julien Testut