Wednesday, 26 October 2016

Oracle Data Integrator Install on Linux – The curious case of OpenJDK



Well, this is the first blog that I am posting since a long time since I was caught up in one thing or another… This will commence the Linux series since I will be covering a complete Linux series out here…This is the first step in the Unix/Linux direction.

In one of my previous blogs, I had shown how to do an install of Oracle Data Integrator in a standalone environment. That went off perfectly and I had expected the Linux environment to do the same… So I went into my Linux environment and copied all the necessary jar files and checked if Java is installed on the environment or not… This I found to be the case as shown in the next snapshot.




So, there is a Java installed up and running on the Linux so I assumed that all was good and hunky-dory.

Now I started running the ODI install jar file using the following java command: -

java -jar <Name of the jar file>

When, I ran it on the Linux server as shown in the next snapshot, it gave me an error and stopped the install as shown in the next snapshot.

The error says OpenJDK JVM is not supported on this platform. The JVM stands for Java Virtual Machine which is basically the global machine for which the interpreter is written (Technically, Java is compiled for a virtual machine and for every operating system, an interpreter is designed for this virtual machine since designing an interpreter is always less expensive than a compiler. Some other day, when I have downed a couple of pints I will get down to the nitty gritty of the Java Virtual Machine).

So why is OpenJDK not supported. Well, the difference is more on the implementation front. Open JDK is the open source implementation of Java Platform whereas Oracle JDK is closed implementation of the same. More details of OpenJDK is present here.( https://en.wikipedia.org/wiki/OpenJDK )

What this means is that, whereas the source code specification is same for both OpenJDK or Oracle JDK, how they implement the internal virtual machine would be inherently different. Since open source implementations can be tweaked by different vendors, Oracle basically goes for the home value and internally the ODI install just blocks any JVM version that does not match the Oracle one. Since open source systems like Linux would have Open JDK by default, we cannot do a straightaway install of ODI on a Linux box. So, long story short, you would need to first install Oracle JDK and then run the install jar.

In the next blog, we will see if the install throws up any new errors…