I decided to build my first sand box ever. I always wanted one, but there was no time or reason until now. Fortunately, hardware is ridiculously cheap these days compared to the past, so you can actually run full-blown Oracle Applications on your home PC without compromises.
I built a Dual Core box with 8G of RAM for an install of E-Business Suite R12. For OS I chose Oracle EL5U2, mainly because I’m used to the RH/OEL clones, and also because I expected it to be less painful than other distributions.
I started slowly, as time allowed, spending some time chasing various libraries and packages on the Net. Eventually it took me a week to realize how tedious it is to go the manual way. I got so frustrated by the dependencies that I gave up and purchased access to the ULN network.
Just to illustrate the type of struggle I went through, I found four distinct lists of required packages for 10g installation (in Oracle documentation and metalink combined). I’d recommend Note 421308.1 – Requirements For Installing Oracle10gR2 On RHEL/OEL 5 (x86_64), which summarizes the database part in a neat way. I also encourage you not to underestimate requirements of related Note 376183.1 – Defining a “default RPMs” installation of the RHEL OS.
Nevertheless, it’s just way more easy to use the oracle-validated package, which will download all dependencies for you. Well, almost all.
The next step was to prepare the machine. The only tricky part (from the DBA point of view) is to setup a DNS server, but even that went well. There are plenty of nice howtos on the web — search for keyword “rndc”.
Once I had all the required packages installed, users created, kernel parameters set, domain name resolution working, and Xvnc started, it was time to call a wizard.
Using rapidwiz is relatively easy. If you’re familiar with standard EBS terminology, you will have no issues. The only new term is the “instance home”, a good concept that allows you to put all applications logfiles and configuration files into one place. Point this location to where you want to have them.
The decisions rapidwiz will allow you to make are fewer than when installing a standalone database, so there’s not much to say about installation itself.
The first problem came in the final stage of installation — starting the HTTP_server container failed. After checking the logfile I figured out that there was a library missing.
The library name was
libdb.so.2, and as I discovered on OTN forums, many more people had encountered this problem before. The library is in package called
(Don’t be confused by “i386” — you need this even for x64EL.)
It wouldn’t install easily because of a conflict with another existing package, but I couldn’t remove that other package because it’s dependent on the
A workaround that worked for me (and that you’ll see once more before end of this post) is the following:
$ cat compat-db-4.1.25-9.i386.rpm | rpm2cpio | pax -r
This will unpack the RPM package, and then you can get
libdb.so.2 and copy it to
/usr/lib. Don’t forget to make the symlink with the correct name.
Okay, now I was able to start apache . . .but unable to access forms. Clicking on a link that was supposed to launch forms just did nothing. Digging in the j2ee log directory (cleverly hidden at
$INST_TOP/logs/ora/10.1.3/j2ee/forms/forms_default_group_1/application.log ), I found the error:
08/09/25 20:46:11.875 formsweb: 10.1.3.0.0 Started 08/09/25 20:57:27.501 formsweb: ListenerServlet init() 08/09/25 20:57:28.631 formsweb: Forms session aborted: runtime process failed during startup with errors /d01/PVISII/tools/10.1.2/bin/frmweb: error while loading shared libraries: libXm.so.2: cannot open shared object file: No such file or directory 08/09/25 20:57:28.632 formsweb: Forms session exception stack trace: oracle.forms.engine.RunformException: Forms session failed during startup: no response from runtime process at oracle.forms.servlet.RunformProcess.connect(Unknown Source) at oracle.forms.servlet.RunformProcess.dataToRunform(Unknown Source) at oracle.forms.servlet.RunformSession.dataToRunform(Unknown Source) at oracle.forms.servlet.ListenerServlet.doPost(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke (ServletRequestDispatcher.java:702)
Yet another library missing — this time it’s
libXm.so.2. After searching the web, I found there seemed to be two packages containing it:
At the time of this writing there doesn’t appear to be an EL5 version of openmotif21. The gnome-libs package had a number of other dependencies and I didn’t want to spoil the system with an RHEL4 package, so once again I extracted only the library needed:
$ cat openmotif21-2.1.30-11.0.1.RHEL4.6.i386.rpm | rpm2cpio | pax -r
Then I copied the extracted library to
/usr/X11R6/lib/. Once I did this, forms came up and I could finally sleep well! If there’s anything I missed in the install guide which could have prevented these errors please let me know, because I didn’t read it.