Introduction
The subject at hand is really much wider than just Redhat 7.x, especially as more recent distributions are following Redhats lead and are now including glibc 2.2 also. I have no reason to believe that this process will not work with newer versions of SuSE, Debian, etc.
The other point to note is that I have not tried the procedure outlined here. I have migrated my box from Debian 2.2 to RedHat 7.2 and can testify that Oracle still works, but I have not actually performed an installation. I have, however, recieved a good number of emails confirming that it works, so don’t worry!
Most of the following material comes from two people, who are the real people you should thank if it works for you. They are John Smiley and Max McClanahan.
The process
The problem is that Oracle 8.1.x needs glibc 2.1.3. It will link without error with glibc 2.2, but when you try to run dbassist or create a database from scratch, there are problems (dbassist hangs, ‘End of file on communication channel’, etc.)
Here is a step-by-step process for getting Oracle 8.1.6 or 8.1.7 working on systems with glibc 2.2 (don’t bother with 8.1.5 if you can help it). Note that 9i requires glibc 2.2 and will not work with earlier versions:
- Install the compat-glibc RPM for 2.1.3. The exact filename will vary depending on your version of RedHat or other distribution. Many people (Fernando Boaglio, Peter Whysall, Jose T. Martin Prior amongst others) have noted that Oracle provide a patch (glibc-2.1.3-stubs.tar.gz) that provides the same functionality. I prefer the RPM’s personally, but this will certainly work.
- Execute the following command: . /usr/i386-glib21-linux/bin/i386-glibc21-linux-env.sh
- Type “export LD_ASSUME_KERNEL=2.2.5”
- Type: cd $ORACLE_HOME/bin
- Run the following command from the UNIX prompt: relink all
All of the Oracle software, including the assitants, will work fine now.
This technique will work on RedHat 7.0 with the 2.2.16 kernel, as well as the 2.4.0 and 2.4.1-pre11 kernels.
The rest
John Smiley also asked me to point out that Oracle have issues some patches (ftp://205.227.44.220/server/patchsets/unix/LINUX/8161/bug1467074/) that are required in order for them to consider your machine ‘certified’:
Operating System: Intel Based Server LINUX Version:Red Hat 7.0 Oracle Server - Enterprise Edition Version: 8.1.7 (8i) N/A Version: N/A Status: Certified Oracle Server - Enterprise Edition Version: 8.1.7 (8i) Bug Number: 1467074 REDHAT 7.0/ORA-3113 ISSUE (GLIBC 2.1.94 AND LATER) Patch for bug 1467074 is mandatory for this certification.
RedHat even have a bug report on this issue, which may be worth a look: Bugzilla report from Redhat.
Comments
One response to “Installing Oracle on Redhat 7”
While having to install oracle 81 (8.1.6) just for the sake of testing the various upgrade options to 10g, I could not get the dbca create the database.
Firstly, the net 8 configuration process failed following by the Database configuration assistant hanging at 1% during the process of creating the database. Datafile location are read/write.
Could you give me a hint as to why this might be so ?