Oracle 9i on AMD64/Gentoo Linux
Introduction
Earlier this year, Oracle released the 9i Database for the AMD64 platform. Unfortunately Oracle only supports Red Hat servers in their instructions. This does not mean Oracle will not run in Gentoo Linux. In fact, it does once you get over a couple of hurdles. This article serves to document the problems that I ran into during the installation of Oracle 9i (9.2.0.4.0) on 64-bit Gentoo Linux running on an AMD64.
Preliminary Notes
The unix installation instructions provided by Oracle can pretty much be followed directly for a successful installation.
I already had the 32-bit emulation libraries installed for other applications. You will need these for oracle to link and execute correctly.
Problems I encountered
cpio:
It seems there is a compatibility issue with the version of cpio that Oracle used to create their distibution files and the version that I have installed on my machine ("cpio (GNU cpio) 2.6"). Fortunately, I was able to get around this by copying the cpio images to one of my 32-bit RedHat 9 boxes to expand them. Then I copied the directory tree back to my Gentoo machine to perform the installation. This is really a crude hack but I haven't had time to investigate it further.
Linker Error:
After you make it through the questions in the graphical installer, a message will popup complaining about a linker error for the isqlplus module. The dialog has three buttons "Retry", "Ignore" and cancel. At this point, you need to bring up a terminal and edit $ORACLE_HOME/lib/stubs/libc.so . You will need to change the line that says GROUP ( libc.so.6 /usr/lib/libc_nonshared.a )
to GROUP ( libc.so.6 /usr/lib32/libc_nonshared.a )
You can then swich back to the installer and hit retry. The installer should then complete successfully.
Apparently, not everything in the 9i release can be linked with the 64 bit libraries.
Lack of Enterprise Manager Console:
After getting the database installed, I tried to start the Enterprise Management Console (oemapp). It couldn't be found. I double checked my path settings and took a look in $ORACLE_HOME/bin. It wasn't there. I then re-ran the installer to make sure I had selected it. Sure enough, the Enterprise Management tools had be selected. Frustrated, I turned to google. After a couple of results, I found a tech note on an Oracle Forum that stated that 9i for amd64 did not ship with the Enterprise Manager Console. I guess that explains why I couldn't find it. Fortunately, I am a geek and own numerous machines, so I installed the 9i client on one of my other machines and can use oemapp remotely.
Conclusion
As you can see, with a little elbow grease, you can get Oracle 9i running on 64-bit Gentoo Linux on an AMD64. For those wanting to install 10g, I stumbled accross a wiki describing how to insall 10g in amd64 Gentoo Linux. Apparently 10g has the same linker problem as 9i. Oh well...