Running Oracle Data Minor under Linux   March 10, 2007

I wanted to try out Oracle data minor under linux, here are the steps


1)downloaded the odminor.zip
2)create a direcotry
3)copy odminor.zip to the this directory
4)use unzip utility to unzip the odminor.zip file
5)go to the lib directory
6)make sure that X windows is set correctly (Try xclock for example)
7)run using the following command
 

java -jar odminor.jar
 

I was expecting to see a GUI screen in which connection information are filled. Instead i got the following
 

This script is a placeholder for the /usr/bin/java
master link required by jpackage.org conventions. libgcj's
rmiregistry, rmic and jar tools are now slave symlinks to these
masters, and are managed by the alternatives(8) system.

This change was necessary because the rmiregistry, rmic and jar tools
installed by previous versions of libgcj conflicted with symlinks
installed by jpackage.org JVM packages.

This script was designed to be overridden by the supported RHEL3 JRE
packages, java-1.4.2-bea and java-1.4.2-ibm. It is installed as an
alternative symlink as /usr/bin/java. It will override a third-party
(non-RHEL3) JRE's java command if the JRE's bin directory is listed
after /usr/bin in PATH. In that case, it is recommended that the
third-party JRE's bin directory be listed first in PATH instead.

Exception in thread "main" java.lang.InternalError: unexpected exception during linking: java.lang.ClassNotFoundException: javax.swing.JFrame
at 0x00855ca3: java.lang.Throwable.Throwable(java.lang.String) (/usr/lib/./libgcj.so.3)
at 0x00848b1e: java.lang.Error.Error(java.lang.String) (/usr/lib/./libgcj.so.3)
at 0x00856086: java.lang.VirtualMachineError.VirtualMachineError(java.lang.String) (/usr/lib/./libgcj.so.3)
at 0x0084a4be: java.lang.InternalError.InternalError(java.lang.String) (/usr/lib/./libgcj.so.3)
at 0x00847c12: java.lang.ClassLoader.resolveClass0(java.lang.Class) (/usr/lib/./libgcj.so.3)
at 0x008333fc: java.lang.Class.initializeClass() (/usr/lib/./libgcj.so.3)
at 0x00831c94: java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib/./libgcj.so.3)
at 0x00831d2f: java.lang.Class.forName(java.lang.String) (/usr/lib/./libgcj.so.3)
at 0x00899e89: gnu.gcj.runtime.FirstThread.run() (/usr/lib/./libgcj.so.3)
at 0x0083caec: _Jv_ThreadRun(java.lang.Thread) (/usr/lib/./libgcj.so.3)
at 0x0080982c: _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean) (/usr/lib/./libgcj.so.3)
at 0x08048930: ?? (??:0)
at 0x0013779a: __libc_start_main (/lib/tls/libc.so.6)
at 0x080486e1: ?? (??:0)
[oracle@asdb bin]$
 

The reason was the path was set to the default JRE java environment. I have Oracle Application Server installed on the same machine. I used the Oracle JRE environment and the screen displayed what i expected

What i did was actually moving to the directory where Oracle JRE is installed, and ran the JAVA program as follows 

/home/oracle/infra/jre/1.4.2/bin/java -jar odminor.jar

Then i wanted to load some data using the Import functionality by using the menu Data -> import

To my surprise the tool went to a complete halt and the following error message was generated on the console

Couldn't execl robot child process: Permission denied
 

I really did not understand what this problem is, but the solution is
go to the following directory

    /home/oracle/bi/jre/1.4.2/lib/i386
 

and grant execute permission to the awt_robot, for example

chmod 711 awt_robot

run again , and everything should run fine