Installing Oracle 9i on OpenSuSE 10.3

Recently I had a hard time installing Oracle 9i on a SuSE 10.3 system. Oracle 9i is rather old and doesn’t play well with recent Java runtimes, glibcs, changed threading models etc.

I collected a lot of information and finally have been able to get Oracle installed and running.

Prerequesites

Before starting installation please make sure that you have the following packages installed:

  • gcc
  • gcc-devel
  • libaio
  • libaio-devel

Installation procedure

  1. Novell provides a nice package named ‚orarun‘ which installs the needed user, group and sets a couple of kernel parameters you otherwise had to set manually. While you might get away without installing this package, it does a lot of work for you. Although it has been packaged for SuSE Linux Enterprise Server, it works nicely on your OpenSuSE: http://ftp.novell.com/partners/oracle/sles-10/
  2. Install an old Java SDK or runtime. The one you might find on your SuSE installation medium doesn’t work. I used a Java 1.3 SDK for this purpose. Anything newer will the Oracle installation cause to fail. As it is difficult to find these old products at Suns website, here is a link for your convenience:
    http://java.sun.com/products/archive/j2se/1.3.1_14/index.html
  3. Unpack/extract your Oracle 9i installation archive. As i never use cpio for archiving anything I constantly forget the right parameters. It’s „cpio -idmv < filename„.
  4. Use your favourite editor to edit Disk1/install/linux/oraparam.ini. Find the JRE_LOCATION entry there and change it according to your Java installation from step 2.
  5. Start the Oracle 9i installation by executing runInstaller as user oracle (do a „su – oracle“ before).
    1. Note that during installation the tools „Oracle Net Configuration Assistant“ and „Oracle Database Configuration Assistant“ will fail. Ignore that for now.
  6. Change to your $JAVA_HOME/jre/bin (beeing $JAVA_HOME the directory where you have Java installed during step 2). Create a symlink with „ln -s .java_wrapper jre“
  7. Change to your $JAVA_HOME/jre/bin/i386/native_threads.
    Create a symlink with „ln -s java jre“
  8. Change to your $ORACLE_HOME. Remove the JRE link found there and create a new one: „ln -s  JAVA_HOME/jre/ JRE“

You are done. Both tools failing during installation (dbca and netca) should also work now.