Provisioning Oracle Data Integrator (ODI) 12.1.3 on Oracle Java Cloud Service (JCS) Virtual Image


Options



Before You Begin

Purpose

This tutorial shows you how to install and configure Oracle Data Integrator (ODI) 12c (12.1.3) by updating a WebLogic Server (WLS) domain on an existing Oracle Java Cloud Services (JCS) Virtual Image domain.

Time to Complete

If you are creating the Cloud Storage, Database, and Java Services, allow 3-4 hours for that.

For just the ODI part, allow approximately 2 hours.

Background

You should be familiar with how to install and configure ODI on premises. You can find most of that information on the web in the ODI home page, documentation, and in Oracle Learning Library (OLL) tutorials such as ODI Getting Started.

Scenario

ODI can run on Windows or Linux, can be managed with a web-based Console or stand-alone Studio GUI, with or without WebLogic Server (WLS), and use agents deployed in Standalone, Colocated, and Java Enterprise Edition (JEE) mode. This tutorial will assume Linux for both the client workstation and server, managed by the Studio GUI, with WLS installed as JCS, and the agents deployed in JEE mode.

The topology of the domain you create can vary, depending upon how many virtual machines and how many Managed Servers you provision as part of your Java Cloud Service Virtual Image subscription.

For the purposes of this tutorial, it is assumed that you have created a domain that contains an Administration Server and one Managed Server on the same JCS Virtual Image instance. Your actual topology may vary.

Context

This tutorial assumes a single node JCS deployment, a later tutorial will show how to deploy on a multi-node JCS.

What Do You Need?

The instructions in this tutorial assume that you have a working Java Cloud Service Virtual Image instance and that you have performed all of these tasks:

  1. Ensure that you have subscriptions for Oracle Storage Cloud Service, Oracle Database Cloud Service, and Oracle Java Cloud Service.

    For more information, see Overview of Oracle Cloud Subscriptions in Getting Started with Oracle Cloud.

  2. Create the VM public and private keys.

    The VM public key is used by the new instance's VM for authentication when you connect to it using an SSH client. When you connect, you must provide the private key that matches the public key.

    When creating a Database Cloud Service (DBaaS) instance and Java Cloud Service (JCS) Virtual Image instance you need to specify the name of a public key. You generate an SSH public/private key pair using a standard SSH key generation tool. For more information, see Creating SSH Keys for Use with Oracle Cloud Services in the Oracle Learning Library.

  3. Configure an Oracle Cloud database that meets the Java Cloud Service Virtual Image deployment requirements.

    For instructions, see Using Oracle Database Cloud Service in the Oracle Help Center.

    Note: When creating the Oracle Database Cloud Service instance to use with Oracle Java Cloud Service Virtual Image, make sure you select Both Cloud Storage and Block Storage as the backup option for the database.

    For instructions to create the DBaaS instance, see the Appendix.

    Make sure the ora_p2_dblistener network access rule is enabled once the DBaaS instance is created. See Enabling Access to a Compute Node Port in Using Oracle Database Cloud Service.

  4. Create the Oracle Java Cloud Service Virtual Image instance.

    Oracle Java Cloud Service Virtual Image is a part of the platform service offerings in Oracle Public Cloud Services. You can quickly create and configure an Oracle WebLogic Server domain and set up your Java EE application environment on Oracle Java Cloud Service, without worrying about setting up any infrastructure or platform details. All Oracle Java Cloud Service instances that you create are preconfigured to use the Oracle Database Cloud Service instance and an object storage container.

    Certified software release: Oracle WebLogic Server 12c (12.1.3) Enterprise Edition with Coherence.

    For instructions, see Creating an Oracle Java Cloud Service Instance in Using Oracle Java Cloud Service.

  5. Ensure that you have a Java Cloud Service Virtual Image that is up and running.

    For instructions to view all Oracle Java Cloud Service Instances, see the Appendix.

Typographic Conventions

These are the conventions used throughout this practice to indicate who types what.

  • Filename or /path/subdirectory/. Often you can navigate to a destination without having to type it.
  • Command or value that you type, such as gedit .bashrc. Be mindful of periods at the end of sentences that are not part of the command.
  • Click this Button such as OK or Next .
  • Some variable or <variable> as something you replace. Often prefixed with "my" such as <myName> or <myHost>.
  • A Menu Item or dialog Field Prompt or Tab name. For example, "click the Designer tab and select Models > New Model".
  • Generally a  red rectangle  in the graphics is not part of the original image, but added to draw your attention to an item.

Pre-Installation Steps

While performing all of these tasks, be sure to note the user name and passwords you enter; you will need them later while provisioning or performing administration tasks.

If you are doing this just as a proof-of-concept, it is easier to make all of the passwords the same, such as Welcome_1 (note the UPPER/lower case, number, and underscore special character to satisfy the complexity requirements.) In a production environment, you might not have them all the same.

1. Locating Your Database Details

When you created your Java Cloud Service Virtual Image instance, you were provided with details about the database required for the Oracle Java Cloud Service instance. To update the Oracle Java Cloud Service domain for Oracle Data Integrator, you must connect to the same database and install the required ODI schemas.

  1. To verify the details of the Database, see Accessing the Oracle Database Cloud Service Console in Using Oracle Database Cloud Service.

    DCS IP info DCS Additional info
    Description of this image

Write down your IP address and Connect Descriptor, you will need them both later. Your address and Descriptor will be different, but of the same format.

2. Connecting to the Oracle Java Cloud Service Environment using SSH

When you create an instance of the JCS Virtual Image services, all the Oracle Compute VMs required to support the service are provisioned and configured for you. You can access the services and resources provided by the VMs by logging into the machine through a secure shell (SSH). You will create tunnels using the ssh command in a UNIX command shell.

  1. To create an SSH tunnel, you must find the IP address of the VM hosting your Oracle Java Cloud Service instance.

    1. Sign into the My Services application at http://cloud.oracle.com.
      Cloud sign-in
      Description of this image
    2. On the My Services Dashboard, click Consoles and select Oracle Java Cloud Service.
      JCS Dashboard
      Description of this image
    3. On the Java Cloud Service Console, click the instance.
      JCS Console instance
      Description of this image
    4. The public IP address of the Administration Server is available under Virtual Machines section. Make a note of the IP address.
      VM Public IP
      Description of this image
  2. In a command shell, run the ssh utility:

    [OS]$ ssh -i private-key-file opc@jcs-vm-ip-address

    where:

    • private-key-file is the path to the SSH private key file that matches the public key used when your instance was created.
    • jcs-vm-ip-address is the public IP address of the VM in n.n.n.n (dotted decimal) format.

    For example:

    [OS]$ ssh -i ~/.ssh/id_rsa opc@192.168.200.1
  3. If this is the first time you are connecting to the VM, the ssh utility prompts you to confirm the public key. In response to the prompt, enter yes.

    
    [myuser@myhost ~]$ ssh -i ~/.ssh/id_rsa opc@192.168.200.1
    The authenticity of host '192.168.200.1 (192.168.200.1)' can't be established.
    RSA key fingerprint is 30:9c:72:21:92:be:10:b0:3a:1f:ed:6d:3b:3f:b6:10.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.200.1' (RSA) to the list of known hosts.
    Authorized uses only. All activity may be monitored and reported.
    -bash-4.1$ 					
    					
    Description of this code
  4. At the prompt, enter the passphrase for the SSH key, if one was created.

    Passphrase
    Description of this image

You should now have an ssh session from your PC to the JCS VM. Notice that the OS prompt has changed.

3. Verifying that the TMP Directory Exists and is Writable

When you created your Oracle Java Cloud Service, the /tmp directory was created automatically. Verify to ensure that the opc user environment has been changed to the correct temp directory variables defined.

  1. Observe the current temp environment variables pointing to the old ("wrong") temp. At a command prompt, enter this command: env | grep tmp .

     
    -bash-4.1$ env | grep tmp 
    TMPDIR=/u01/app/oracle/tools/paas/tmp
    TEMP=/u01/app/oracle/tools/paas/tmp
    _JAVA_OPTIONS=-Djava.io.tmpdir=/u01/app/oracle/tools/paas/tmp
    TEMPDIR=/u01/app/oracle/tools/paas/tmp
    TMP=/u01/app/oracle/tools/paas/tmp
    						
    Description of this code
  2. Edit the .bashrc file and set the following values:

     
    -bash-4.1$ vi ~opc/.bashrc 
    export TMPDIR=/tmp
    export TEMPDIR=/tmp
    export TMP=/tmp
    export TEMP=/tmp 
     (leave the rest of the file as-is) 
    					
    Description of this code
    Save and close the file.
  3. Rerun the profile (notice the leading period and space):

    [OS]$ . ~opc/.bashrc
  4. Observe the current temp environment variables to make sure they all point to the new /tmp. At a command prompt, re-enter this command: env | grep tmp .

     
    -bash-4.1$ env | grep tmp 
    TMPDIR=/tmp
    TEMP=/tmp
    _JAVA_OPTIONS=-Djava.io.tmpdir=/tmp
    TEMPDIR=/tmp
    TMP=/tmp
    						
    Description of this code

The temporary directories are ready for the installation tasks.

Warning: If you ever stop and restart the JCS service, all of these changes to .bashrc are lost (reset back to their original values.)

4. Configuring the X Window System and Starting a VNC Session

The installation and configuration tools that you use to install and configure ODI require the X Window system. The X Window system is installed on the virtual machines that you procure when you registered for Oracle Java Cloud Service Virtual Image.

Perform the following tasks to be able to open an xterm or the configuration wizard GUI on your display:

  1. As user opc, edit sshd_config:

    [OS]$ sudo vi /etc/ssh/sshd_config

    Change all occurrences of X11Forwarding to yes:

    X11Forwarding yes
  2. Restart sshd by running the following command:

    [OS]$ sudo /etc/init.d/sshd restart
  3. Run the following command to prevent the Window Manager from displaying a lock screen:

    [OS]$ gconftool-2 -s -t bool /apps/gnome-screensaver/lock_enabled false
  4. Ensure that the $TMP and $TMPDIR directories are accessible and have write permissions before starting the VNC server. Start VNC server with the following command:

    [OS]$ vncserver :1 -depth 16 -alwaysshared -geometry 1200x750 -s off
  5. You must provide a password for the VNC server. Use the command vncpasswd.

     
    -bash-4.1$ vncpasswd
    Password: nondisplay
    Verify:   nondisplay
    -bash-4.1$ 
    					
    Description of this code
  6. On your local machine, create an SSH tunnel for the VNC server:

    [OS]$ ssh -L 6905:127.0.0.1:5901 -N -f -i private-key-file opc jcs-vm-ip-address

    where:

    • private-key-file is the path to the SSH private key file that matches the public key used when your instance was created.
    • jcs-vm-ip-address is the public IP address of the VM in n.n.n.n (dotted decimal) format.
    • 5901 is the vncserver listening port defined in /usr/bin/vncserver.
      $vncPort = 5900 + $displayNumber;
      As $displayNumber is set to 1 in the previous command, the listening port for vnc session :1 is 5901.
  7. Use a VNC Viewer application to access the tunneled VNC session: vncviewer 127.0.0.1:6905

    
    [myuser@myhost ~]$ vncviewer 127.0.0.1:6905
    
    TigerVNC Viewer for X version 1.1.0 - built Sep 22 2014 07:14:05
    Copyright (C) 1999-2011 TigerVNC Team and many others (see README.txt)
    See http://www.tigervnc.org for information on TigerVNC.
    
    Wed May 27 16:53:55 2015
     CConn:       connected to host 127.0.0.1 port 6905
     CConnection: Server supports RFB protocol version 3.8
     CConnection: Using RFB protocol version 3.8
    					
    Description of this code
    Enter the password you created with vncpasswd.
    VNC Password
    Description of this image
  8. From VNC, you will have access as user opc and can switch to user oracle to use the installer, configuration wizard, and other features. Run these two commands to switch users:

    [OS]$ xhost +
    [OS]$ sudo su - oracle

    Setting xhost
    Description of this image

    Use this VNC window to run the ODI installation and configuration files. For example, you could run /u01/app/oracle/middleware/oracle_common/common/bin/config.sh (do not run config.sh yet, it was just an example.)

Troubleshooting vncviewer:

Problem Statement: When you start the VNC viewer, the following error message may be displayed:
There is a problem with the configuration server. (/usr/libexec/gconf-sanity-check-2 exited with status 256).

Workaround: Make sure $TMPDIR environment variable points to /tmp. If it does not then re-run . ~opc/.bashrc to set it.

X Window and VNC are now ready to support running GUI (and command line) applications on the JCS and viewing them on a remote host.

Warning: If you ever stop and restart the JCS service, all of the changes to sshd_config and vncpasswd are lost (reset back to their original values.)

5. Downloading the Oracle Software and Copying It to the Virtual Machine

Download the required zip files from Oracle Software Delivery Cloud (eDelivery) by referring to the Oracle Fusion Middleware Download, Installation, and Configuration ReadMe 12c page.

Note that Oracle WebLogic Server (also referred to as Fusion Middleware Infrastructure in ODI Installation documents) was already installed when you created the Java Cloud Service instance. You will also be using the same Database that you have used while creating the JCS instance.

  1. Download Oracle Data Integrator (12.1.3.0.0) for 64-bit Linux to your local (not JCS) host. This requires signing in to your account.

    eDelivery search eDelivery FMW 12c Media Pack Download FMW 12c
    Description of this image
  2. If you are still user oracle, run exit to become user opc again. Ensure that the /u01/zips directory on the Administrator VM has write permissions by the opc user:

    bash-4.1$ whoami
    opc
    bash-4.1$ sudo chmod 755 /u01
    bash-4.1$ sudo chmod 777 /u01/zips

  3. Download the installation files to your local machine and from the download directory use scp (secure copy) to copy them to the /u01/zips directory on the Administrator VM:

    [myuser@myhost ~]$ scp -i private-key-file fmw_12.1.3.0.0_odi_Disk1_1of1.zip opc@jcs-vm-ip-address:/u01/zips

    where:

    • private-key-file is the path to the SSH private key file that matches the public key used when your instance was created, for example, ~/.ssh/id_rsa.
    • jcs-vm-ip-address is the public IP address of the VM in n.n.n.n (dotted decimal) format.
  4. Once the files are in the Admin VM, you should ensure that you own them and have the appropriate permissions set for the oracle user:

    
    [myuser@myhost ~]$  ssh -i private-key-file opc@jcs-vm-ip-address 
    -bash-4.1$  cd /u01/zips                         
    -bash-4.1$  sudo chown oracle:oracle *.zip       
    -bash-4.1$  sudo chmod 755 *.zip                 
    					
    Description of this code

    where:

    • private-key-file is the path to the SSH private key file that matches the public key used when your instance was created, for example, ~/.ssh/id_rsa.
    • jcs-vm-ip-address is the public IP address of the VM in n.n.n.n (dotted decimal) format.

The ODI software is now ready to install on the JCS. The WLS software is already installed. You will need to sort out proper licenses later, for the moment (on a trial basis) this is fine.

6. Backing Up your Domain

Before you begin with any of the pre-provisioning and provisioning tasks, Oracle recommends that you take a back-up of your existing domain. For example:

  1. Switch to the oracle user to perform these tasks.

    
    bash-4.1$  sudo su - oracle 
    -bash-4.1$ cd /u01/data/   
    -bash-4.1$ cp -r domains domains.ORIG 
    -bash-4.1$ ll 
    total 12
    drwxr-x--- 3 oracle oracle 4096 May 15 16:07 backup
    drwxr-x--- 4 oracle oracle 4096 May 15 16:13 domains
    drwx------ 4 oracle oracle 4096 May 18 19:36 domains.ORIG
    -bash-4.1$ 
    					
    Description of this code

The WLS domain is backed up in case you ever need to restore it.

The pre-installation steps are done, you are now ready to proceed with the installation itself.

Provisioning ODI on JCS Virtual Image

Note: You must be the user oracle when provisioning ODI on JCS Virtual image. Check if you need to switch with the command whoami. Use the command sudo su - oracle to switch, and exit to switch back to opc.

1. Installing Oracle Data Integrator 12.1.3

You can install the Oracle Data Integrator software by following the instructions in "Installing Oracle Data Integrator" in Installing and Configuring Oracle Data Integrator. As with all things Linux, directories are case sensitive.

Note: Since Oracle WebLogic Server is already installed in your Java Cloud Service Virtual Image, there is no need to install the Fusion Middleware Infrastructure. It is already there.

  1. Unzip the ODI installer zip file:

    [OS]$ cd /u01/zips
    [OS]$ unzip fmw_12.1.3.0.0_odi_Disk1_1of1.zip

  2. As user oracle, start the installer: java -jar fmw_12.1.3.0.0_odi.jar

    Troubleshooting ODI Installer:

    Problem Statement: When you start the ODI 12.1.3 installer, the prerequisites validations may fail with:
    Checking monitor: must be configured to display at least 256 colors. Actual 65536 Failed <<<<.
    Then the installer fails with the following error message:
    Can't connect to X11 window server using ':1.0' as the value of the DISPLAY variable.

    Workaround: As user opc run the command xhost + again, then log back as user oracle and restart the installer.

  3. When prompted, set the Inventory Directory to /u01/app/oraInventory, then click OK to create the Central Inventory Directory.

    Inventory Directory
    Description of this image
  4. When the installer comes up, follow the installation guide instructions to install ODI on this JCS Virtual Image instance. Click Next.

    Install 1 of 7
    Description of this image

    For Oracle Home location, use /u01/app/oracle/middleware. Click Next.

    Install 2 of 7
    Description of this image
  5. In the Installation Type form, select Enterprise Installation. Click Next.

    Install 3 of 7
    Description of this image
  6. In the Installation Summary form, click Install.

    Install 5 of 7
    Description of this image

You have successfully installed ODI. After installing the software, reclaim the file system space by deleting the unzipped files.

2. Creating Oracle Data Integrator Schemas using RCU

This section describes how to use the Repository Creation Utility (RCU) to create the required Oracle Data Integrator schemas.

  1. Run the following command to start the Repository Creation Utility (RCU) and create the ODI schema:
    /u01/app/oracle/middleware/oracle_common/bin/rcu

    RCU Welcome
    Description of this image
  2. Follow the instructions in "Creating the Master and Work Repository Schema" in Installing and Configuring Oracle Data Integrator.

    On the Create Repository panel, accept the defaults and click Next.

    RCU 1 of 7
    Description of this image
  3. You must use the same Database Cloud Service instance used to create the JCS Virtual Image instance. The Service Name is not ORCL nor the DCS instance myodidb. To get the dbhost:dbport/dbservice details, review the DBaaS properties.

    RCU 2 of 7
    Description of this image
  4. Selecting Oracle Data Integrator component will also select the other components.

    RCU 3 of 7
    Description of this image

    Note: The new prefix suggested is DEV2. Depending on previous experimentation, your next sequential prefix may be DEV1, DEV2, DEV3, or whatever is next. It does not matter what RCU picks, but remember it for later because the domain wizard config.sh does not know where RCU left off.

  5. For a proof-of-concept, you can use the same passwords for all schemas. In real life, you might not want to do that. Note that RCU has different password complexity rules than the VM images, in particular about special characters.

    RCU will prompt for two database passwords:

    • The password for the database user with SYSDBA role (typically SYS). This is the same SYS user password from DBaaS that you provided when creating the JCS Instance.
    • The password to use when creating the schema.
    RCU 4 of 8
    Description of this image
  6. For a proof-of-concept, you can use the same passwords for all supervisors and repositories. In real life, you might not want to do that.

    RCU 5 of 8
    Description of this image
  7. The default tablespaces are fine, just click Next.

    RCU 6 of 8
    Description of this image

    When completed, click OK to continue.

    RCU Creating Tablespaces
    Description of this image
  8. The Summary is fine, just click Create.

    RCU 7 of 8
    Description of this image

    When System Load is completed, click OK to continue.

    RCU System Load
    Description of this image
  9. If everything worked, then just click Close. If anything failed, examine the logs and retry.

    RCU 8 of 8
    Description of this image

You now have the tablespaces and schemas needed to support ODI Repositories in the DCS.

3. Updating the Java Cloud Service Domain

Before you begin updating the Java Cloud Service Domain, use the WebLogic Administration Console to shutdown all Managed Servers and the Administration Server if they are up.

You can follow the instructions in "Configuring the Domain for the Java EE Agent" in Installing and Configuring Oracle Data Integrator to update the domain.

  1. Access the Administration Server Console by using the following link: https://admin_server_host:admin_server_port/console.

    WLS Console Login
    Description of this image
  2. In the Domain Structure, expand [+] Environment and click Servers. Click the Control tab. Select the managed server (not the adminserver), and click Shutdown > Force Shutdown Now.

    Click Yes to continue. Wait a minute.

    Shutdown Managed
    Description of this image
  3. On the same panel, select the adminserver and shut it down in the same way. This also kills the Console.

    Click Next.

    Admin Server Shutdown message
    Description of this image

    Just ignore the web browser for the moment.

  4. To update your domain, use the Configuration Wizard to extend (update) the Java Cloud Service domain with ODI:
    /u01/app/oracle/middleware/odi/common/bin/config.sh

    wizard splash logo
    Description of this image
  5. In the Update Domain form, select Update an existing domain. In the Domain Location, select the following WebLogic domain directory. The domain_name will automatically point to the default domain created when provisioning this JCS Virtual Image instance: u01/data/domains/domain_name.

    Click Next.

    config 1 of 6
    Description of this image
  6. In the Templates form, do the following:

    1. Select Update Domain Using Product Templates.
    2. Select the following items (selecting one will cause others to be selected with green checks):
      • Oracle Data Integrator - Agent - 12.1.3.0 [odi],
      • Oracle Data Integrator - Agent Libraries - 12.1.3.0 [odi],
      • Oracle Data Integrator SDK Shared Library Template - 12.1.3.0 [odi],
      • Oracle Data Integrator - Console - 12.1.3.0 [odi],
      • Oracle Enterprise Manager Plugin for ODI - 12.1.3.0 [em]
      The following products should already be selected, and greyed out and in italics. They were selected when you created the domain in your Java Cloud Service instance:
      • Basic WebLogic Server Domain
      • Oracle Enterprise Manager
      • Oracle WSM Policy Manager
      • Oracle JRF
      • WebLogic Coherence Cluster Extension

    Click Next.

    config 2 of 9
    Description of this image
  7. In the Database Configuration Type form, provide the database connection details that you defined when you created the Java Cloud Service instance. The defaults are probably correct. Try clicking Get RCU Configuration as a test. If that fails, then fix the parameters and click Get RCU Configuration again.

    When the "Get" is successfully done, click Next.

    config 3 of 10
    Description of this image
  8. In the Component Datasources form, select ODI Master Schema and ODI Work Schema. Specify the DBMS/Service, Host Name, Schema Owner, and Schema Password. The other parameters are probably correct as defaults.

    Click Next.

    config 4 of 10
    Description of this image

    Note: The Schema Owner must match the RCU prefix created, it may be DEV1, DEV2, DEV3, whatever RCU picked earlier.

  9. In the JDBC Test form, confirm that all connections were successful. The connections are tested automatically. The Status column displays the results. If all connections are not successful, click Back to return to the previous form and correct your entries.

    Click Next when all the connections are successful.

    config 5 of 10
    Description of this image
  10. In the Credentials form, enter the ODI Supervisor username and password for the SUPERVISOR key. Then add a new domain key.

    1. Click Add Add to add a new credential.
    2. In Key Name, enter the name of this domain as the key. This is the domain created for the JCS.
    3. In Username and Password, provide the Administrator user's Username and case-sensitive Password.
    4. In Store Name, select oracle.odi.credmap from the pull-down.

    Click Next.

    config 6 of 10
    Description of this image
  11. In the Advanced Configuration form, select Managed Servers, Clusters and Coherence and Deployments and Services. On many of the panels you will just accept the defaults.

    config 7 of 16
    Description of this image

    (Did you notice in the title bar where it says, "Page X of Y" that the "Y" number keeps getting bigger?)

  12. In the Managed Servers form, update the required managed servers.

    1. To avoid targeting related libraries and applications to the default ODI server instead of the ODI cluster, delete the default ODI server by selecting ODI_server1 and click Delete.
    2. By default, the Managed Servers will be pre-populated. You can either rename it or use it as it is. For the purpose of this documentation, the Managed Server has been renamed as JCS_ODI1 and will be referenced with this name throughout the document.
    3. Give JCS_ODI1 the attributes listed:
    Name JCS_ODI1
    Listen Address All Local Addresses
    Listen Port 8001
    Enable SSL Selected
    SSL Listen Port 8002
    Server Groups JRF-MAN-SRV

    Click Next.

    config 8 of 16
    Description of this image
  13. In the Clusters form, just note the Cluster Name. It will be the first eight letters of your domain name (which is the same as the first eight letters of your JCS instance name) and the suffix of _cluster. WARNING: If you try to change the Cluster Name, it appears to work but will generate a Coherence error later, do not change the cluster name. Click Next.

    config 9 of 17
    Description of this image
  14. In the Assign Servers to Clusters form, ensure that the servers are assigned to the cluster as follows:

    • yourname_cluster
      • JCS_ODI1

    Click Next.

    config 10 of 17
    Description of this image
  15. In the Coherence Clusters form, accept the defaults and click Next.

    config 11 of 17
    Description of this image
  16. In the Machines form, click the Unix Machine tab to verify that it is populated. Rename the machine to ODI_machine_1. Leave all other fields at their default values. Click Next.

    config 12 of 18
    Description of this image
  17. In the Assign Servers to Machines form, ensure that the servers are assigned to the machines as follows:

    • ODI_machine_1
      • yourname_adminserver
      • JCS_ODI1

    Click Next.

    config 13 of 18
    Description of this image
  18. By default, the ODI Agent bits will be deployed to the Admin Server. That will work, and in a development environment that might be okay, but the idea for High Availability is to deploy the ODI Agent(s) to a cluster of managed servers. You will need to move some Applications into the cluster and out of Admin Server (those are two separate steps). First you move the Applications into the cluster:

    1. In the Deployments Targeting form, on the left side under Deployments > Application, select odiconsole and oraclediagent.
    2. On the right side under Targets, select the cluster (your cluster name will be different)
    3. Click the middle > to move the items from the left to the right. They will go in alphabetically under Application.

    Do not click Next yet.

    config 14a of 18
    Description of this image

    Second move the Applications out of the Admin Server:

    1. On the right side under Targets, under Server > domain_adminserver > Application (your adminserver name will be different), select odiconsole and oraclediagent.
    2. Click the middle < to move the items from the right. They don't actually go to the left, they just go away from the right.

    Do not click Next yet.

    config 14b of 18
    Description of this image

    Third move some Libraries into the cluster and out of Admin Server (those are two separate steps).

    1. Still in the Deployments Targeting form, on the left side under Deployments > Library, select oracle.odi-agent#2.0@12.1.3 and oracle.odi-sdk#2.0@12.1.3.
    2. On the right side under Targets, select the cluster name (your cluster name will be different)
    3. Click the middle > to move the items from the left to the right. They will go in alphabetically under Library.

    Do not click Next yet.

    config 14c of 18
    Description of this image

    Last you move the Libraries out of the Admin Server:

    1. On the right side under Targets, under Server > domain_adminserver > Library (your adminserver name will be different), select oracle.odi-agent#2.0@12.1.3 and oracle.odi-sdk#2.0@12.1.3.
    2. Click the middle < to move the items from the right. They don't actually go to the left, they just go away from the right.

    Now click Next.

    config 14d of 18
    Description of this image
  19. In the Services Targeting form, move the JDBC Resources into the cluster:

    1. On the left side under Services > JDBC System Resources, select odiMasterRepository and odiWorkRepository.
    2. On the right side under Targets, select the cluster name (your cluster name will be different)
    3. Click the middle > to move the items from the left to the right. They will go in alphabetically.

    There is no need to remove the JDBC resources from the admin server. Click Next.

    config 15 of 18
    Description of this image
  20. In the Configuration Summary form, leave the defaults and click Update.

    config 16 of 18
    Description of this image

    You can safely ignore the warning about No system component instance.

    Troubleshooting Configuration Summary:

    Problem Statement: You may see a warning about ports already in use.

    Cause: You forgot to shutdown the WLS admin server and managed servers before altering the (running) domain.

    Solution: It is safe to ignore the warning now as long as you restart the servers later.

  21. Click Next once the domain is configured, then click Finish.

    config 17 of 18
    Description of this image
    config 18 of 18
    Description of this image

You have successfully updated the JCS domain to support ODI JEE Agents.

4. Creating a Java EE Agent in the Master Repository Using ODI Studio

If there is no physical agent entry for an agent, then the agent startup will fail when starting the WLS Administration Server.

To create an agent using ODI Studio, see Section 5.3 "Creating an Agent in the Master Repository Using ODI Studio" in Installing and Configuring Oracle Data Integrator.

Note: Trying to use an ODI Studio installation on-premise while remotely connecting to the repositories hosted on Oracle Database Cloud Service may slow down the user interface to the point of being unusable.

  1. Start ODI Studio from the command line by using /u01/app/oracle/middleware/odi/studio/odi.sh .

    Studio splash logo
    Description of this image
  2. Login to the Repository created by RCU.

    1. Create a Login by clicking on Connect to Repository and then click the green plus.

      Connect to Repo
      Description of this image
    2. Fill in all of the connection information that matches what you did in RCU. Remember your user prefix may be DEV1_, or DEV2_ or something else, whatever you did in RCU.

      Note: The URL template is wrong! You must use a slash between the port and the service. If you use a colon as the template suggests, it won't work. If you use the SID of ORCL it won't work. You must use the slash between the port and the service name as shown.

      Select Work Repository and click Browse (magnifying glass).

      Repo Connect Info
      Description of this image
    3. Select workrep and click OK.

      Select Repo workrep
      Description of this image
    4. Click Test. (If the workrep selection worked, then the Test should work...)

      Repo Test
      Description of this image
    5. If successful, click OK.

      Info Success
      Description of this image
    6. Enter a Wallet password twice. Click OK.

      New Wallet Password
      Description of this image
    7. All the information should be saved and pre-populated. Just click OK and the Designer, Operator, and Topology tabs should appear on the left.

      ODI Login
      Description of this image
  3. Create a Physical Agent. On the Topology tab, expand (plus) Physical Architecture, right-click Agents, and select New Agent.

    New Physical Agent
    Description of this image

    Fill in the information as shown. The Name: OracleDIAgent is case-sensitive and hard-coded. Your IP address will be different. Click Save (diskette). Close the OracleDIAgent tab.

    Physical Agent Definition
    Description of this image
  4. Create a Logical Agent. On the Topology tab, expand (plus) Logical Architecture, right-click Agents, and select New Agent.

    New Logical Agent
    Description of this image
  5. For simplicity, keep all the names the same: OracleDIAgent. Click Save (diskette). Close the OracleDIAgent tab.

    Logical Agent Definition
    Description of this image

You now have a physical and logical agent, but WLS (and therefore the agent) is not started yet, so you cannot test it yet.

5. Starting the Administration Server

The Administration Server normally does not host any user applications, it simply controls the other Managed Servers. Once the Managed Servers are running, the Administration Server only collects statistics and logs, it is not required to be running for the hosted applications to continue running.

  1. To start the Administration Server, using vncviewer, as user oracle, go to the Domain_Home/bin directory of VM1, where:
    Domain_Home is the complete path to your domain location.
    For example: /u01/data/domains/mydomain_name/bin.

    Run the following command: ./startWebLogic.sh.

    After about a minute, you should see these messages. That means the Admin Server is started.

    
    <Jun 1, 2015 6:34:32 PM UTC> <Notice> <WebLogicServer> <BEA-000360> <The server started in RUNNING mode.> 
    <Jun 1, 2015 6:34:32 PM UTC> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.> 
    					
    Description of this code
  2. You can now access the WLS Administration Server Console by using the following link: https://admin_server_host:admin_server_port/console.

    WLS Console Login
    Description of this image

The JCS WLS Administration Server is successfully started.

6. Post-Configuration Tasks

Use the WLS Administration Console to update the Oracle Coherence parameters. To configure Oracle Coherence:

  1. Log into the Oracle WebLogic Server Administration Console.

    WLS Console Login
    Description of this image
  2. In the Domain Structure panel, expand the Environment node. Click Coherence Clusters.

    Environment Coherence Clusters
    Description of this image
  3. In the Coherence Clusters table, click DataGridConfig.

    Data Grid Config
    Description of this image
  4. Click the Members tab, then in the Change Center, click Lock & Edit.

    Members tab
    Description of this image
  5. Select All servers in the cluster under the Clusters section. (It may already be done. If so, just verify it.)

    All servers
    Description of this image

    Click Save and Activate Changes.

The post-configuration tasks pertaining to Coherence membership are done. When you start the servers (next section), you may need to come back here to adjust the Coherence membership again.

7. Starting the Servers

To get your deployments up and running, you must start the Administration Server and Managed Servers that were created during domain extension.

Start (or if necessary restart) the servers. Use the command line script to restart the Admin Server, and use the WebLogic Server console to start the Managed Servers. The Admin Server may already be running!

  1. You can now access the WLS Administration Server Console by using the following link: http://admin_server_host:admin_server_port/console.

    WLS Console Login
    Description of this image
  2. In the Domain Structure panel, expand the Environment node. Click Servers.

    Servers
    Description of this image
  3. Click the Control tab, select JCS_ODI1 (click the checkbox, not the server name), click Start. (This assumes your Node Manager is running.)

    Start Managed Server
    Description of this image
  4. Click Yes to continue. Wait a minute.

    Confirm
    Description of this image

    Troubleshooting Starting Managed Server:

    Problem Statement: When you start the JCS_ODI1 server, it may fail with the following message in the /u01/data/domains/myjcs_domain/servers/JCS_ODI1/logs/JCS_ODI1.log file:

    This member could not join the cluster because of a configuration mismatch between this member and the configuration being used by the rest of the cluster. This member specified a cluster name of "DataGridConfig" which did not match the name of the running cluster. This indicates that there are multiple clusters on this network attempting to use overlapping network configurations. .

    Cause: Your server is trying to join another Coherence cluster, perhaps from another node.

    Workaround: In the WLS Console, go to Domain Structure > Environment > Coherence Clusters then click DataGridConfig and change the Listen Port from the default of 8088 to something else, perhaps 9000.

  5. The agent should now be deployed in JCS. You can see it by going to Domain Structure > Deployments then in Summary of Deployments panel click Deployment Order twice to get it sorted low-to-high. You should see oraclediagent near the top, and it should be State=Active and Health=OK.

    Deployments
    Description of this image

    Troubleshooting oraclediagent State and Health:

    Problem Statement: The agent oraclediagent may fail to start with the following message:
    weblogic.application.ModuleException: com.tangosol.net.RequestPolicyException: No storage-enabled nodes exist for service oracle.wls.internal.odi:OdiDistributedCache:com.tangosol.net.RequestPolicyException:No storage-enabled nodes exist for service oracle.wls.internal.odi:OdiDistributedCache
    /!\ Warning Errors were encountered while performing this operation.


    Cause: Your managed server is failing to fully join the Coherence cluster.

    Workaround: In the WLS Console, go to Domain Structure > Environment > Coherence Clusters then click DataGridConfig > Members tab and Lock & Edit and change the Clusters from the default of All servers in the cluster to just Part of the cluster > JCS_ODI1, then click Save and Activate Changes and View changes and restarts to restart the managed server JCS_ODI1.

  6. Go back to ODI Studio to test the agent. In Topology > Physical Architecture > Agents > OracleDIAgent, click Test.

    Agent Test
    Description of this image

The WLS admin server and managed servers are now running. All deployed applications are running.

ODI is now provisioned on the JCS Virtual image. The agents are running and available for ad hoc and scheduled work.

Supported Use Cases When Running ODI on JCS Virtual Image

Note: Oracle recommends that you perform design time activity directly on the Java Cloud Service Virtual Image instance where Oracle Data Integrator has been installed. Use VNC to remotely access ODI Studio and design your integration processes. Trying to use an ODI Studio installation on-premise while remotely connecting to the repositories hosted on Oracle Database Cloud Service may slow down the user interface to the point of being unusable.

Moving Data between On-Premise Systems and ODI Running in JCS Virtual Image

Oracle recommends using file-based data movement mechanisms to transfer data between your on-premise systems and Oracle Data Integrator running on Java Cloud Service.

Java Cloud Service (JCS) and Database Cloud Service (DBCS) instances come with pre-configured Secure FTP (SFTP) servers which can be leveraged to exchange data.

To send data from on-premise systems to ODI running on JCS:

  1. Extract data into files using an on-premise installation of ODI

  2. Use SFTP to send the files to the DBCS instance used by ODI running on JCS. ODI comes with ODI tools such as OdiSftpPut which can help automate the SFTP transfer process.

To send data from ODI running on JCS to on-premise systems:

  1. Extract data into files using ODI deployed on JCS.

  2. Copy the files into a directory available from the built-in SFTP server in JCS.

  3. Using an on-premise installation of ODI, use OdiSftpGet tool to download the files or use your favorite SFTP client.

This is how you would move on-premise data to and from JCS.

File to File

File to File use cases with both the source and target files local to an instance of ODI running on JCS are supported. Follow the directions in Moving Data between On-Premise Systems and Oracle Data Integrator Running in Java Cloud Service Virtual Image if you need to exchange data between an on-premise environment and Oracle Public Cloud.

For this use case the recommendation is to create a dedicated database schema such as ODI_TEMP or ODI_STAGING for the ODI Staging Area in the DBCS instance linked to the JCS Virtual Image instance onto which ODI is deployed. This ODI Staging Area schema will be used to perform any required transformation between the source and target files.

Refer to Files and Oracle Database in Connectivity and Knowledge Modules Guide for Oracle Data Integrator for a list of the Knowledge Modules available to implement this use case.

This is how you would move file-to-file data.

File to Database Cloud Service

Loading files into a Database Cloud Service instance is a supported use case if at least one of the following conditions is met:

  • Source files are local to the DBCS instance linked to the JCS Virtual Image instance onto which ODI is deployed and this DBCS instance is also the target of the ODI Mappings
  • Source files are local to the JCS Virtual Image instance onto which ODI is deployed and the target DBCS instance is accessible by ODI using a JDBC connection
  • Source files are local to a remote DBCS instance and ODI running on JCS Virtual Image can connect to this remote DBCS instance using a JDBC connection

Follow the directions in Moving Data between On-Premise Systems and ODI Running in JCS Virtual Image if you need to transfer files from on-premise system to your Java Cloud Service or Database Cloud Service instances.

Refer to Files and Oracle Database in Connectivity and Knowledge Modules Guide for Oracle Data Integrator for a list of the Knowledge Modules available to implement this use case.

This is how you would move file to DCS data.

Database Cloud Service to File

Extracting data from a Database Cloud Service instance into files is a supported use case. The files will be created on the Java Cloud Service Virtual Image instance onto which ODI is deployed. You will need to ensure that ODI can access the remote DBCS instance using a JDBC connection.

Once the data has been extracted into files, follow the directions in Moving Data between On-Premise Systems and ODI Running in JCS Virtual Image if you need to transfer files from on-premise system to your Java Cloud Service or Database Cloud Service instances.

Refer to Files and Oracle Database in Connectivity and Knowledge Modules Guide for Oracle Data Integrator for a list of the Knowledge Modules available to implement this use case.

This is how you would move DCS to file data.

Database Cloud Service to Database Cloud Service

Moving data between different Oracle Database Cloud Service instances is a supported use case as long as ODI can connect to all DBCS instances using a JDBC connection. Data movement can be performed using JDBC or Database Links provided that the right ports have been opened between the various environments.

Refer to Oracle Database in Connectivity and Knowledge Modules Guide for Oracle Data Integrator for a list of the Knowledge Modules available to implement this use case.

This is how you would move DCS to DCS data.

These are the supported use case scenarios.

Appendix: Creating Cloud Services

It is assumed that this is already done, but if not, read on...

1. Creating Cloud Storage Container

The cloud interface is being improved all the time, so your screens may look slightly different. Part of the Storage Container creation process is web-based, and part is command-line based using curl.

  1. Sign in to the My Services application.

    Sign-in
    Description of this image
  2. On the My Services Dashboard, click View Details for Oracle Storage Cloud Service.

    short desc
    Description of this image
  3. Copy the REST Endpoint to the clipboard.

    REST EndPoint
    Description of this image
  4. Enter the following command in the UNIX command shell to send the REST request.

    [OS]$ curl –k -v -X GET -H 'X-Storage-User:Storage-ID_domain:Username' -H 'X-Storage-Pass:Password' https://storage.us2.oraclecloud.com/auth/v1.0

    where:

    • Username: Oracle Public Cloud Services User Name, usually your email address
    • Password: Oracle Public Cloud Services Password, it will be in clear text...

    For example:

    [OS]$ curl –k -v -X GET -H 'X-Storage-User:Storage-Z17ORACLE1981761728:aaa@xyz.com' -H 'X-Storage-Pass:Oracle@1' https://storage.us2.oraclecloud.com/auth/v1.0
  5. From the response you get, note X-Storage-Url and X-Auth-Token values. For example:

    X-Storage-Url:
    https://storage.us2.oraclecloud.com/v1/Storage-Z17ORACLE1981761728
    X-Auth-Token:
    AUTH_tk209f7f2ea1265a0d3f29d28a2dc8ced6
  6. Enter the following command to create the storage container:

    [OS]$ curl -k -v -X PUT -H 'X-Auth-Token: AUTH_tk209f7f2ea1265a0d3f29d28a2dc8ced6' https://storage.us2.oraclecloud.com/v1/Storage-Z17ORACLE1981761728/wcpcontainer

    You will get the following response: HTTP/1.1 201 Created.

    The value of the Cloud Storage Container would be: Storage-Z17ORACLE1981761728/wcpcontainer. Your value will be different.

This creates the Cloud Storage, a prerequisite for all other cloud services.

2. Creating a Database Cloud Service (DCS, DBaaS) Instance

A prerequisite for DCS is a Cloud Storage Container. The following section shows how to create the Oracle Database Cloud Service (DCS, also known as DBaaS) instance.

  1. Sign in to the My Services application.

    Sign-in
    Description of this image
  2. On the My Services Dashboard page, click Consoles and select Oracle Database Cloud Service.

    short desc
    Description of this image
    The Oracle Database Cloud Service console is displayed.
  3. On the Oracle Database Cloud Service console page, click Create Instance.

    Create Instance
    Description of this image
  4. On the Subscription Type page, select Oracle Database Cloud Service or Oracle Database Cloud Service – Virtual Image, and the billing frequency that you want to define. Then click Next.

  5. On the Software Release page, select Oracle Database 11g or Oracle Database 12c and then click Next.

  6. On the Software Edition page, select any Software Edition, click Next.

  7. On the Service Details page, configure the settings for your instance, then click Next.

    short desc
    Description of this image
  8. On the Confirmation page, review the information listed. If you are satisfied with the information, click Create.

The Database Cloud Service (DCS) Instance will then be created. It may take about an hour, maybe less. DCS (and Storage) is a prerequisite for JCS.

3. Viewing All Oracle Java Cloud Service Instances

Both Storage and DCS are prerequisites for JCS.

  1. Sign into the My Services application at http://cloud.oracle.com. The Platform Services Console is displayed.

    Sign-in
    Description of this image
  2. Click Oracle Java Cloud Service (the green circle). The Oracle Java Cloud Service Console is displayed.

    JCS Console
    Description of this image
    JCS Details
    Description of this image

Your instance names may be different.

All of the JCS instances are displayed. You can drill down further in any one of them.

Want to Learn More?

Credits

  • Lead Curriculum Developer: Julien Testut
  • Other Contributors: Steve Friedberg