Installing Oracle on Redhat 7

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:

  1. 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.
  2. Execute the following command: . /usr/i386-glib21-linux/bin/i386-glibc21-linux-env.sh
  3. Type “export LD_ASSUME_KERNEL=2.2.5”
  4. Type: cd $ORACLE_HOME/bin
  5. 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.

Installing Oracle 8i R3

I have recently installed Oracle 8i R3 (8.1.7) on my Celeron 466 machine. I found the installation to be very straight-forward compared with both 8.1.5 and the experiences of many people.

My machine is well below the specification that would be required to do real work on, especially if you have a number of developers. It does work, albeit rather slowly. Creating my initial database, for example, took around eight hours.

It currently runs RedHat 7.2 with a few minor patches (including a more recent kernel). I installed just about everything, including the full development kit and “glibc-compat”.

My secret to success, I believe, were these two commands:

  1. . /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
  2. export LD_ASSUME_KERNEL=2.2.5

After this, the installation ran exactly to plan.

Oracle Support Comedy Errors

Don’t get me wrong. Oracle support analysts have a difficult job. Their products are large, complex beasts and you don’t necessarily expect an immediate response. These, however, I did not expect…

  • Having spent over a day with hourly contact with support, they ring back returning a voice-mail message left before managing speaking to a ‘real’ person. Twenty-seven hours apparently wasn’t enough for a correct response, either.
  • Two weeks of problems lead to a call to our sales manager. Obviously concerned, he went away to research the problem. He came back a day or two later. “This problem you’re having with you SCSI CD-ROM…,” he began. Good effort, wrong customer.
  • They asked us to download a patch from their web site, a mere 36Megs. This looked remarkably similar to a patch we’d received the previous week for another problem. Next they insisted that we needed the next version of the SmartClient software. They even sent someone out to install it for us. Naturally, this solution didn’t work. They ummed and arred for a while before declaring it a ‘bug’ and sending it off to the states to be fixed. This is the last I heard of this problem.

Oracle Server Comedy Errors

Oracle, the company, was founded back in the late seventies as a company that produced an SQL database. Its entire reputation has been built on this product and it is, therefore, no surprise that it is very good.

That’s not to say that there have been no problems…

  • To perform dodgy ‘system’ operations on a database, you need access to a user called ‘internal.’ In theory, you need to be in the UNIX ‘dba’ group to be able to connect. That is unless you belong to rather a lot of groups, in which case it doesn’t seem to work. (We’ve not actually called this through, so there may be a simple explanation.) (7.1)
  • When creating a new database, you have to run a file called ‘catalog.sql’ to finish the job. At the end of this file is the following message: ‘THIS IS THE END OF THIS FILE – IF I AM NOT HERE THEN RCS HAS TRUNCATED FILE‘ (7.3)
  • I’m not entirely sure that this counts, but an installation program that requires more resources than that product that it’s installing demands at least an honorable mention. (8i)

Oracle Applications Comedy Errors

Fair’s fair, any application the size and complexity of Oracle Applications will have some bugs. But applications seems to do far better than most.

This section refers to the server size of Applications Comedy Errors. There’s another page for the client side.

  • To install a new application module, it seems that you have to add the original version you have plus all patches. Not just for your new module, but for all of them. (People that implement Application’s are not expected to make mistakes.)
  • The recommended sizes for your database extents are useful. However, if you follow the advice, some parts of the system won’t actually install.
  • Oracle helpfully supply a program that goes through the thousands of files that it installs and checks that they’re the right ones. We’ve found at least a dozen files that it claims shouldn’t be there but in fact should be.
  • After applying a patch, the shell script that starts the Concurrent Managers just vanished.
  • One of the bugs that we found was because Oracle had ‘forgotten’ to port a number of forms from one environment to the one we were using. The word ‘forgotten,’ despite being inverted commas, is the actual word used by Oracle support.

Photography, opinions and other random ramblings by Stephen Darlington