7 Managing Oracle Data Integrator on IBM WebSphere

This chapter contains information about managing Oracle Data Integrator on IBM WebSphere.

This chapter contains the following sections:

7.1 Differences and Restrictions When Installing and Configuring Oracle Data Integrator Applications on IBM WebSphere

The following section describes differences and restrictions when installing and configuring Oracle Data Integrator on IBM WebSphere:

7.1.1 Creating a New IBM WebSphere Cell

Before running WebSphere Configuration Wizard (was_config.sh) to create a cell, you must edit the WAS_HOME/bin/wsadmin.sh file and move the $javaOption \ entry so that it is located below the $PERF_JVM_OPTIONS \ entry.

This will prevent certain error messages during the cell creation and configuration.

7.2 Differences When Managing Oracle Data Integrator on IBM WebSphere

This section contains the following:

7.2.1 Creating a New Server in an IBM WebSphere Cell

If you want to create a new server other than odi_server1 in your IBM WebSphere cell, you must do the following after creating the cell but before starting any of the servers or processes:

  1. Edit the following file and make sure the proper front-ending host and port values are in place:

    On UNIX operating systems:

    WAS_HOME/profiles/dmgr-profile-name/config/cells/cell-name/nodes/node-name/servers/odi_server1/fmwconfig/jrf-port-config.properties
    

    On Windows operating systems:

    WAS_HOME\profiles\dmgr-profile-name\config\cells\cell-name\nodes\node-name\servers\odi_server1\fmwconfig\jrf-port-config.properties
    
  2. Copy this file into the following directory:

    On UNIX operating systems:

    WAS_HOME/profiles/dmgr-profile-name/config/cells/cell-name/nodes/node-name/servers/new_server_name/fmwconfig/jrf-port-config.properties
    

    On Windows operating systems:

    WAS_HOME\profiles\dmgr-profile-name\config\cells\cell-name\nodes\node-name\servers\new_server_name\fmwconfig\jrf-port-config.properties
    

    Replace new_server_name with the name of the new server you created in the WebSphere Configuration Wizard.

This process must be repeated for each new server created in the cell.

7.2.2 Setting the Desired Logging Level on IBM WebSphere

Oracle Data Integrator defines all the loggers in the fmwconfig/logging.xml file. The parent of all ODI loggers is oracle.odi and this is set with a default log-level of CONFIG (ODL level: "NOTIFICATION:16"). All the descendent loggers oracle.odi.* (for example, oracle.odi.agent) are not set with any default logging level.

On WebLogic Server, if the logging level is not set for a logger, then its parent's logging level is automatically used. On IBM WebSphere, a logger that is not set with a logging level is automatically assigned the default level INFO ("NOTIFICATION:1").

Because of this behavior, the session start/end messages (which are at CONFIG level) are not getting logged on IBM WebSphere.

To work around this issue, you must set the desired logging level for each logger using Fusion Middleware Control or the wsadmin script.

Using Fusion Middleware Control:

To set the logging level using Fusion Middleware Control, assuming the name of your Managed Server is odi_server1:

  1. Select WebSphere_Cell > Cell_WebSphere > odi_server1.

  2. Right-click on odi_server1, then select Logs > Log Configuration.

  3. In the Log Configuration page, select the logger (for example, oracle.odi.agent) and change the logging level as desired.

Using the wsadmin Script

To set the logging level using the wsadmin script, assuming the Managed Server is named odi_server1:

  1. Start the wsadmin script from the ORACLE_HOME/common/bin directory.

  2. Run the following command to view the current logging level of a logger (for example, oracle.odi.agent):

    OracleODL.listLoggers(target="odi_server1", pattern="oracle.odi.agent")
    
  3. Run the following command to change the logging level of oracle.odi.agent to CONFIG ("NOTIFICATION:16"):

    OracleODL.setLogLevel(target="odi_server1", logger="oracle.odi.agent", level="CONFIG")
    
  4. Run the following commands if you want to change the logging levels of all the loggers that are descendants of the parent logger oracle.odi to CONFIG ("NOTIFICATION:16"):

    myLoggers = OracleODL.listLoggers(target="odi_server1", pattern="oracle.odi.*")
    for loggerName in myLoggers.keys():
    OracleODL.setLogLevel(target="odi_server1", logger=loggerName, level="CONFIG")
    

    You must press Enter twice after the last command.

7.2.3 Configuring OPMN on IBM WebSphere

The Standalone Agent can be managed from Fusion Middleware Control using OPMN, which is available when installing Oracle Web Tier. Installing Oracle Web Tier and OPMN does not result in the proper configuration when deployed on IBM WebSphere, so there are some additional steps needed to complete the configuration.

Follow the instructions in this section to properly configure OPMN in order to manage the Standalone Agent from Fusion Middleware Control on IBM WebSphere Server.

  1. Install Oracle Data Integrator and IBM WebSphere application server.

  2. Install Oracle Web Tier in order to get OPMN, and make sure:

    1. Oracle Web Tier must be installed in the same Oracle home as Oracle Data Integrator.

    2. When installing Oracle Web Tier, choose the Install Software - Do Not Configure option on the Select Installation Type screen.

    3. The default instance name is instance1, which will be used in the examples below. If you choose a differance instance name, remember to replace instance1 with your own instance name.

  3. In order to configure OPMN to manage a Standalone Agent, with or without registering the OPMN instance to an Administration Server, OPMN needs a properties file containing the proterties defined in Table 7-1. Note that the values shown may differ from your system configuration.

    The list of properties required are given in the ODI_HOME/oracledi/agent/bin/agentcreate.properties file. Create a copy of this file and provide values for these properties as applicable to your Standalone Agent.

    For example, if you wish to manage two Standalone Agent processes using OPMN, create one copy of agentcreate.properties for each agent (perhaps ODIAgent1.properties and ODIAgent2.properties).

    Note:

    The name of the file does not need to match the name of the agent.

    Table 7-1 Parameters in agentcreate.properties

    Parameter Description Example (Your Configurations May Differ)

    PORTNO

    HTTP(S) port number that the Standalone Agent listens on.

    PORTNO=9787

    JMXPORTNO

    JMX port of the ODI Standalone Agent.

    JMXPORTNO=9787

    PROXY_PORT

    OPMN proxy port number.

    PROXY_PORT=98767

    JAVA_HOME

    Location of the JVM used by the ODI Standalone Agent.

    JAVA_HOME=/home/Oracle/Middleware/jdk6_35

    ORACLE_OPMN_HOME

    Oracle home directory for Oracle Web Tier.

    ORACLE_OPMN_HOME=/home/Oracle/Middleware/Oracle_WT1

    ORACLE_ODI_HOME

    Oracle home directory for Oracle Data Integrator.

    ORACLE_ODI_HOME=/home/Oracle/Middleare/Oracle_ODI1

    INSTANCE_HOME

    OPMN Instance home directory.

    INSTANCE_HOME=/home/Oracle/Middleware/Oracle_WT1/instances/instance1

    COMPONENT_TYPE

    Set this property to odiagent.

    COMPONENT_TYPE=odiagent

    COMPONENT_NAME

    Name of the agent you want to add. This will be its identification in OPMN.

    COMPONENT_NAME=OracleDIAgent

    ODI_MASTER_DRIVER

    Name of the JDBC driver used to connect the Master Repository.

    ODI_MASTER_DRIVER=oracle.jdbc.OracleDriver

    ODI_MASTER_URL

    JDBC URL used to connect the Master Repository. Use the format:

    jdbc:oracle:thin:@db_host:port:sid
    

    ODI_MASTER_URL=jdbc:oracle:thin@examplehost.exampledomain:1521:orcl

    ODI_MASTER_USER

    Database account used to connect the Master Repository. This should be the prefix and schema name of the ODI schema created in the database using RCU.

    ODI_MASTER_USER=DEV_ODI_REPO

    ODI_MASTER_ENCODED_PASS

    Database account password. The password must be encoded with the encode.[sh|bat] password command.

    ODI_MASTER_ENCODED_PASS=hpfatLEoMR6zAK3T1PoP5LXDS

    ODI_SECU_WORK_REPO

    Name of the Work Repository to connect. This Work Repository must be attached to the master repository.

    ODI_SECU_WORK_REPO=WORKREP

    ODI_SUPERVISOR_ENCODED_PASS

    OracleDI supervisor user password. The password must be encoded with the encode.[sh|bat] password command.

    ODI_SUPERVISOR_ENCODED_PASS=hpfatLEoMR6zAK3T1PoP5LXDS

    MASTER_REPO_EXTERNAL_ID

    External ID of the ODI Master Repository. This can be obtained from the Master Repository editor in ODI Studio.

    MASTER_REPO_EXTERNAL_ID=12345


  4. Define the environment variables shown in Table 7-2:

    Table 7-2 Environment Variables to Define for OPMN Configuration

    Variable Description

    MW_HOME

    Path to the Middleware home directory.

    OPMN_HOME

    Path to the Web Tier Oracle home directory (For example, MW_HOME/Oracle_WT1).

    ODI_AGENT_HOME

    Path to the Standalone Agent directory (for example, ODI_HOME/oracledi/agent).


  5. Run the following commands:

    sed -ie "s|%WAS_HOME%|$WAS_HOME|g" $WT_ORACLE_HOME/opmn/bin/opmnctl
    cp $MW_HOME/oracle_common/.product.properties $WT_ORACLE_HOME
    sed -ie "s|WAS |WAS|" $WT_ORACLE_HOME/.product.properties
    
  6. Prepare a password file for the IBM WebSphere default truststore, which is required for OPMN commands. Create the file WAS_HOME/profiles/profile_name/etc/SampleClientTrustFile.jks

    Then, create the file WAS_HOME/profiles/profile_name/etc/password.txt and in the file, enter the default password WebAS followed by a new line.

  7. Create an OPMN instance using the opmnctl createinstance command. This command must be run in the same shell where the ODI_AGENT_HOME environment variable has been defined:

    cd WT_ORACLE_HOME/opmn/bin
    ./opmnctl createinstance
       -oracleInstance WT_ORACLE_HOME/instances/instance2
       -oracleHome WT_ORACLE_HOME
       -adminHost administration_server_hostname
       -adminPort administation_server_port
       -logLevel FINER
       -wasCell was_cell_name
       -wasNode was_node_name
       -wasTrustStore WAS_HOME/profiles/profile_name/etc/SampleClientTrustFile.jks
       -wasTrustStorePasswordFile WAS_HOME/profiles/profile_name/etc/password.txt
    

    Be sure to replace the variables with the actual values on your own system.

  8. Set the INSTANCE_HOME environment variable as WT_ORACLE_HOME/instances/instance1, then run the following command:

    sed -ie "s|%WAS_HOME%|$WAS_HOME|g" $INSTANCE_HOME/bin/opmnctl
    
  9. Create an OPMN component for the ODI Standlaone Agent in the instance created above using the opmnctl createcomponent command:

    cd WT_ORACLE_HOME/instances/instance2/bin
    ./opmnctl createcomponent
       -componentType "odiagent"
       -componentName "odi_sa_agent1"
       -propertiesFile ODI_HOME/oracledi/agent/bin/agentcreate.properties
       -logLevel FINER
       -wasCell was_cell_name
       -wasNode was_node_name
       -wasTrustStore WAS_HOME/profiles/profile_name/etc/SampleClientTrustFile.jks
       -wasTrustStorePasswordFile WAS_HOME/profiles/profile_name/etc/password.txt
    
  10. Start the ODI Standalone Agent:

    ./opmnctl startall
    
  11. Login to Fusion Middleware Control and verify that the Standalone Agent has been discovered.