Configure the Kernel

Oracle 9i requires that you at least temporarily increase the maximum shared memory segment size for installation. To temporarily increase the maximum shared memory segment size, follow these instructions (as root):

echo "1073741824" > /proc/sys/kernel/shmmax
Install Java

Oracle 8.1.6 and 8.1.7 use a Java-based graphical installer. You should download jre118_v3-glibc-2.1.3.tar.bz2 (not a newer version) from blackdown and execute the following commands as root.

mv jre118_v3-glibc-2.1.3.tar.bz2 /usr/local
cd /usr/local
bunzip2 jre118_v3-glibc-2.1.3.tar.bz2
tar xf jre118_v3-glibc-2.1.3.tar
ln -s jre118_v3 java
rm jre118_v3-glibc-2.1.3.tar
Set Up the Environment

Add the following line to /home/oracle/.bashrc near the bottom:

export LD_ASSUME_KERNEL=2.2.5
Install Compatibility Packages

RedHat provides glibc 2.1 compatability RPM's that can be used on any Linux that comes with glibc 2.2. These RPM's can be downloaded from rpmfind.

Slackware

On Slackware, you'll need to install RPM. The RPM package is available from ftp.slackware.com. You can install it using installpkg. Once RPM is installed, log in as root and run the following command to initialize the RPM database.

rpm --initdb

To install the compat-RPM's run the following commands:

rpm -i --nodeps compat-glibc-6.2-2.1.3.2.i386.rpm
rpm -i --nodeps compat-egcs-6.2-1.1.2.16.i386.rpm
rpm -i --nodeps binutils-2.11.90.0.8-9.src.rpm
cp /usr/src/rpm/SOURCES/binutils-2.11.90.0.8.tar.bz2 /root
cd /root
bunzip2 binutils-2.11.90.0.8.tar.bz2
tar xf binutils-2.11.90.0.8.tar
cd binutils-2.11.90.0.8
cp /usr/src/rpm/SOURCES/binutils-2.11.90.0.4-glibc21.patch .
patch -p1 < binutils-2.11.90.0.4-glibc21.patch
configure --prefix=/usr/local/binutils-glibc21
make
make install

If you don't get any errors, you should end up with a directory called /usr/local/binutils-glibc21 containing everything necessary to link Oracle against the glibc-2.1 provided by the compat-RPM's.

Now edit /home/oracle/.bashrc and add the following command near the bottom.

. /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh