Installing Oracle on Redhat 8

If you're new here, you may want to subscribe to my RSS feed or you can register for email updates. Thanks for visiting!

In all honesty, I’ve not managed to get Oracle working properly yet. When I upgraded my RedHat 7 machine to 8 it still worked, when I installed it from scratch it didn’t. This clearly shows that it’s possible to get Oracle 8i working, but I can’t say how!

For those that are interested, I found that it was easy to get the installer to complete, but I get the infamous “end of communication channel” error when trying to start an instance.

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.

WWWThreads 2.7

Introduction

While Linux cannot currently compete with Windows NT on the desktop (for a number of reasons that I’m not going to get into here), it has already made inroads into the server market. Many large companies use it as the OS for their web server (like this machine), and many more use it on their intranet for sharing files and hosting web pages.

WWWThreads capitalizes on this framework, adding CGI programs to generate threaded discussion groups, just like Usenet but with a more appealing web front-end.

Installation

Installation should be fairly simple. All that’s involved is copying the files into a CGI directory on your server, alter a few parameters in one of the files and type ‘./wwwthread_startup.cgi’.

Unfortunately it’s not quite that simple. The blame has to lie with the documentation which could best be described as minimal — a single 85 line README. The description of some of the variables that need changing is rather poor. I managed to change them to the wrong thing and only found out when I brought WWWThreads up in Netscape.

Of course, that’s when I finally managed to get it working at all! Apache’s first reaction was to complain about a ‘premature end of script.’ I’ve done a small amount of CGI programming, and realized that this meant that the web server wasn’t receiving a header describing the format of the data.

But why? Isn’t this supposed to be a finished program? I shouldn’t be getting run-time errors and the like? Then I remembered, my email address has an ‘@’ in it. ‘@’ is Perl’s way of saying ‘here’s an array’ and needs to be quoted to mean ‘at.’ This edited, the start screen appeared.

You could argue that it is a server side program, designed for knowledgeable people, and that I did manage to get it working in the end. However, all that’s needed is a little extra effort on the documentation and, maybe, a Makefile. Something like an Installation FAQ would be invaluable.

From a user…

Looking at the system from a web browser, things look much better.

WWWThreads has a very neat front screen. The colours have been well chosen; they look smart and well designed, but are very readable. In the top left is a logo, the top right has a menu. Below this is a list of the discussion groups that the administrator has set up. Clicking the title of the group brings up a list of the threads in that group. Clicking a thread bring up a list of posts. Clicking a post brings up that post. All very simple, standard stuff.

If you want to create a new post or reply to one that is already there, you will need to create a user for yourself. Here you’re invited to enter a user name, password, name, email, home page, occupation and hobbies. The first four are mandatory, the others optional. Clicking ‘Submit’ results in a screen (hopefully) saying that your details were added successfully. There are no other links or details on this screen, and you are forced to wait before your browser loads a new page. Annoying.

Replying to, or adding, a new post is similar. Fill in a few details, click submit and wait. There should at least be a link on this page to act as a short-cut for the impatient.

However, generally it is all well laid out, attractive and intuitive — there’s not much to write about.

From an administrator…

The administrative tools are good, and are web based just like the rest of the system. It allows the admin to change their password, add new discussion groups (’Boards’), edit or delete posts, change details about the groups, archive a board, delete a board and edit users.

Most of these options are obvious, the one that might not be is the ‘archive’ option. This allows you to, in the words of the author, ‘…move all of the current posts on a board to an archive.’ This is a really good idea, and is implemented well, but does not go as far as I’d like. Some way of selecting posts by date or author, or individual posts would be useful. As would a method a more intuitive method of deleting archives (it appears as another board at the moment).

All the tools are password protected, which allows remote administration — a useful feature.

But the main thing missing is overall configuration options. What it I don’t like the look of the pages that WWWThreads produces? What if you want to fit it into your ‘house’ style? What if you don’t want to ask for hobbies or an occupation when a user registers?

The software is distributed with the GPL licence, so of course you can edit the HTML generated. But there is not documentation and much of the look-and-feel is hidden away in the Perl scripts. Perhaps some kind of template HTML file could be used?

Conclusion

WWWThreads is an odd program.

In some ways it is excellent. The design of the pages are good; the way that it remembers which posts you’ve read and those which you haven’t is useful; the archiving option is excellent, in fact most of the web based admin screens are very well done.

But then again, the installation is needlessly difficult, you can’t easily change the way that it looks, it seems not to perform particularly well (I am running the client and server on the same machine, so this might not be a fair comment) and the documentation is poor.

WWWThreads would be an ideal program to place on an Intranet server to allow people in the office to communicate more effectively. However, it’s lack of configuration options would probably make it unsuitable for an external site.

tkCVS 6.0

Introduction

If there are any regular readers out there, you may recall that one of the first reviews that I did was of tkCVS. The more astute of you will have noticed that recently it has vanished. Somewhat ironically, I managed to delete it while using my ‘mirror’ program and didn’t have a copy held safely in a backup or version control.

If this has taught me anything, it’s that CVS, although very powerful, is not very easy to use. If it was, to use a cliche, as easy as falling off a log then I would have had no hesitation in using it. However, it’s not and I didn’t.

What is it?

First, what’s CVS? It’s an advanced client-server version control system. Unlike many other systems, CVS works with entire projects or directories rather than just individual files. It also allows many users to edit the same files and merge the changes back together later.

However, with twenty-four commands, each with a large number of options, CVS isn’t exactly what you’d call easy to use. (Since most people don’t bother with configuration management at all, this extra hurdle can’t help.)

tkCVS is a much needed TCL/TK-based front end.

In use

First impressions are good. tkCVS looks good. A menu is at the top of the screen, a tool bar is at the bottom and in the middle is a list of the files in the current directory. On the left are the filenames, on the right are their status: ‘ok’ if the file is up to date, ‘????’ if the file is not controlled and ‘{Locally Modified}’ if your version is newer than that in CVS. (I assume that there’s also a ‘modified by someone else’ descriptor, but since I used this on my own single-user machine, I didn’t test this functionality.)

All very straight-forward.

Marginally less straight-forward, now I come to look at them, are the buttons on the toolbar. Sure, they look decorative, but you can only find out what many of them do by waiting for the tool-tip to appear. (Having said that, I’m not entirely sure what a suitable icon for ‘re-read the current directory’ should be. They’ve used a pair of glasses.)

tkDiff

Bundled in the same archive as tkCVS is a graphical ‘diff’ program called tkDiff that’s worth, if not a review of its own, at least a mention.

It does just what it says. Given two files, it finds the difference between them and highlights the differences in various colours. You can flip between the differences using Next and Previous buttons, which is useful if you’re used to the standard GNU diff.

Best of all, it’s integrated with tkCVS allowing graphical diffs between different versions of the same file. However, although it’s easy to get a diff between your copy and the latest copy in CVS, it’s not entirely clear how to get a diff between versions in CVS or your copy and an older version.

Conclusion

Like many TCL/TK applications, it looks good but falls down on its implementation. The UI, although infinitely easier to use than the CVS command-line, is not quite as intuitive as it could be, and there are a number of glitches and bugs.

Fortunately, these glitches are just that. They are annoying but don’t get in the way of what is, fundamentally, a sound program.

WindowMaker 0.20.0

Introduction

I remember when I was at school I sometimes got bad grades when writing essays. This, the teachers claimed, was because I’d used an unconventional structure. Rather than start with an introduction, continue with the discussion and finish with my conclusion I’d often start with a rather long introduction, which included my view, and then argued my case in the rest of the text. I guess it weakened my argument a little to do it like that, but people did remember it!

I’ve still not learned my lesson. One of the first things I do with the review — not quite an essay but along the same lines — is say that I think that WindowMaker is the best window manager that I’ve used. In fact I like it so much I’m seriously considering changing from AfterStep, the window manager that I’ve used practically since I had a PC that could support X.

What’s so good?

Superficially WindowMaker is not that different to AfterStep. That could be part of the reason I liked it so much. (And after my disappointing experience with the new version of AfterStep last week I was most definitely open to suggestion.) Just like AfterStep and the NeXT, WindowMaker has a dock, or a wharf or whatever you want to call it, down the right hand side of the screen. This time there is also a paper-clip icon in the top left of the screen. This is WindowMaker’s method of moving between its virtual desktops. It’s a lot less fiddly than AfterStep’s mini-map but only slightly less intuitive.

Windows are handled in, more or less, the same way as AfterStep, they even look similar. The title bar is nicely gradiated, the top left has the minimise button, the top right has the close gadget. At the bottom of the window is the resize bar. A nice touch is the ‘technical drawing’ lines that are used to show where and how big the new window will be. It’s good to know that an xterm is eighty characters wide.

So far we’ve found that WindowMaker and AfterStep are pretty much the same. It’s when you try and configure things that the differences appear. To add an icon to the AfterStep dock you must open a text configuration file and try and interpret the syntax. Not hugely difficult, but someone used to Microsoft Windows isn’t going to be too happy. The WindowMaker method: open the application you want to dock; drag one of the icons, the one without the title at the top, to the dock. That’s it.

Unless you’re just skim-reading, you should have found something odd with the last paragraph, even if you ignore my English: “…drag one of the icons…” An explanation is in order here. WindowMaker does not just have an icon to indicate that an application has been minimised. If you launched a program any way other than from the dock then you get an extra icon, just as if you’d minimised the window but without a title at the top. Until I figured what it was for I was incredibly confused! The first one is the application — use it as you would in any other window manager. The other can be dragged to a dock. It’s a waste of screen real-estate and I can’t help but think that there must be a better way of doing it.

Other configuration parameters are also handled graphically in WindowMaker. Try to change some of the colours, or the backdrop or any other parameter in AfterStep and it’s back to the configuration file. WindowMaker has a very nice WindowMaker Preferences Utility to allow you to change them all graphically. I’ve not had the need to dig into the GNUstep directory yet it’s so complete.

The Verdict

If you don’t know that I’m impressed then you just haven’t been paying attention(!). While there are faster and smaller window managers, WindowMaker is small and fast enough. It is also very simple to use — it’s one of the first free window managers that doesn’t insist that you edit large and complex configuration files — looks superb and is fully functional.

And finally, despite dire warnings that it’s still beta software, it seems to be more stable than many commercial applications. (I only had one glitch: I loaded Netscape once and WindowMaker vanished and twm took its place. I have no idea what happened there!)