We have seen in Connect ODI to Oracle Database Cloud Service (DBCS) how to connect ODI on premise to DBCS.
But it is also possible to deploy ODI in the Cloud – either on the PAAS (on JCS) or the IAAS (on Compute Cloud Service).
In cases where a JEE ODI Agent is not needed, deploying ODI on Compute is a good alternative.
We are describing here step by step instructions to deploy ODI in this environment.
Let’s connect to the Compute Cloud Services console
Based on Best Practices for Using Oracle Compute Cloud Service we are going to create 2 distinct Storage Volumes.
In the Compute Cloud Services console, we go on the Storage tab and click on Create Storage Volume:
We can now create the Compute Instance:
First, we need to select the image we want to deploy on our Cloud Instance.
As explained above while creating the storage volume, we want to install an Oracle Linux 6.6, so we are going to select OL-6.6-20GB-x11-RD
We will now click on each “tab” of the creation wizard.
On Shape, we select oc4
In the Instance tab, we enter the Name, Description, DNS Hostname prefix and select our SSH key.
We click on Storage and on Attach Existing Volume
We select the volumes we have created: Linux_Boot as “Boot Drive” and Linux_Soft. To keep the instance clean, we delete the default image (in our example CF_LINUX_boot)
We are almost there – we click on Review and check we have attached the SSH key and the Storage – then we can click on Create
We can go in Orchestrations to see the instance is starting
We go back in “Instances” … we wait for a while (few minutes) then we see our instance created and running.
We note the IP address; it will be used in next step
In order to access to our new Compute Instance, we can log in using SSH as opc user.
Refer to Accessing an Oracle Linux Instance Using SSH for more details.
From Windows, we create a new Putty Session to connect to the newly created Compute Service. We enter:
Then we enter the Private SSH Key in Connection/SSH/Auth
We go back to Sessions and Save.
First time we open the connection we get a security alert:
Click yes – then we are in!!
While we have created the Compute Instance the Boot Storage is automatically mounted.
We need to mount the additional Storage Volume we have created (Linux_Soft) and attach a folder to it. We will install ODI in that folder.
Refer to Mounting a Storage Volume on a Linux Instance for more details.
First, let’s create a new folder that we will use to store all downloads and ODI installation.
sudo mkdir /u01
sudo chmod 755 /u01
As the Storage Volume we want to mount, Linux_Soft, is on disk 3, the device name will be /dev/xvdd.
We can check the devices on the instance:
ls /dev/xvd*
We create the file system on xvdd
sudo mkfs -t ext4 /dev/xvdd
And finally mount it as u01
sudo mount /dev/xvdd /u01
We create a folder to store downloaded software
sudo mkdir /u01/backup
sudo chmod 755 /u01/backup
As user opc, we edit sshd_config:
vi /etc/ssh/sshd_config
To forward the application display to our local Windows machine, we change all occurrences of X11Forwarding to yes:
X11Forwarding yes
We restart sshd by running the following command:
sudo /etc/init.d/sshd restart
We run the following command to prevent the Window Manager from displaying a lock screen:
gconftool-2 -s -t bool /apps/gnome-screensaver/lock_enabled false
To ensure that the $TMP and $TMPDIR directories are accessible and have write permissions before starting the VNC server, we edit the .bashrc file and set the following values:
vi ~opc/.bashrc
export TMPDIR=/tmp
export TEMPDIR=/tmp
export TMP=/tmp
export TEMP=/tmp
We Rerun the profile (notice the leading period and space):
[OS]$ . ~opc/.bashrc
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 .
We start VNC server with the following command:
vncserver :1 -depth 16 -alwaysshared -geometry 1200x750 -s off
We stop the SSH connection and update it to add a Tunnel to connect to our Compute Cloud Service through SSH tunneling. We click on Connection/SSH/Tunnels and add the following tunnel:
Session/save and … we open our updated connection.
Once we are connected, we can now launch our favorite VNC client to connect to our VNC Server:
Now we are ready to download and install ODI!
First thing to do is to download the required JDK certified with ODI.
As our goal is to install ODI 12.2.1.0.0 we can see in the Certification Matrix that the minimum JDK version is 1.8.0_77. At the date of writing (Sept 2016), the best selection is jdk-8u101-linux-x64.rpm
At this point ODI is available for download at http://www.oracle.com/technetwork/middleware/data-integrator/downloads/index.html
If you have difficulties connecting to the Oracle web site from the VNC Server, a workaround is to force the DNS to another value than the default one. (cf. https://community.oracle.com/message/13903890#13903890).
We move the downloaded files to /u01/backup
mv /home/opc/Downloads/* /u01/backup
We go in /u01/backup and install the package using
sudo rpm -ivh jdk-8u101-linux-x64.rpm
We check the JDK is installed:
java -version
java version "1.8.0_101"
Now we are ready to install ODI – refer to Installation Guide for Oracle Data Integrator for details
java -jar fmw_12.2.1.1.0_odi.jar
Oracle_Home must be under u01 directory to have enough space and take benefit of the Linux_Soft Storage Volume we have mounted.
Refer to Creating the Master and Work Repository Schemas for details on how to launch RCU.
In this case we are using a DBCS Instance sharing the same Domain as the Compute Instance.
We have seen the steps to install ODI on a Compute Instance – which is as easy as installing ODI on any Linux Server. We will detail the connections between the ODI Cloud instance and other DBCS in a next article.
For more ODI best practices, tips, tricks, and guidance that the A-Team members gain from real-world experiences working with customers and partners, visit “Oracle A-Team Chronicles for ODI”.
Special thanks to my A-Team fellows Richard Williams and Roland Koenn, A-Team Cloud Architects, for their help and support.
Connect ODI to Oracle Database Cloud Service (DBCS)
Creating a Database Cloud Service Instance
Best Practices for Using Oracle Compute Cloud Service