GOAL
Installing Oracle on Linux has always been a marathon in typing, if nothing else. There are new users, OS groups and directories a-plenty to create; kernel parameters by the bucket-load to set; and so on and on. I long ago grew very tired of having to type all that lot in, just to get a database installed and working… and so I decided to automate the process.
The ‘Dizwell Oracle Reliable Installation Script’ (Doris, to her friends) was the first outcome of that automation exercise: a simple shell script that, when run as root, would do all of the Oracle-recommended configuration steps, accurately and without further manual intervention. The nice thing about Doris is she catered for those whose choice of distro was somewhat less than, er, mainstream. Mandriva, Fedora and PCLinuxOS users could make use of her, for example. But she was a monster to maintain, and I decided she had to be bumped off. She can still be downloaded, though, if you feel the need to install Oracle 10g or 11g onto 32-bit distros or any of those weird distros just mentioned! It’s just that she won’t be updated any more, so she’ll get progressively more and more out-of-date and less and less useful.
The Graphical Oracle All-in-one Loader (GOAL) is Doris’ replacement. GOAL was designed to run only on 64-bit operating systems, since the days of trying to run Oracle meaningfully in less than 4GB of RAM seem, mercifully, to be behind us. She was also designed to be run as an ordinary user (though she asks for the root password to start with) and as a graphical tool, rather than a dull command-line-only affair. GOAL’s other main design principle was to ditch the silly distros: originally, she worked only for Red Hat Enterprise Linux 5 (and its Centos/Scientific Linux/Oracle Enterprise Linux cousins). These days, however, GOAL variants exist to ensure Oracle 10gR2, 11gR1 and 11gR2 (all current Oracle versions, basically) can be installed onto three other “mainstream” distros: openSuse 11.1, Ubuntu 9.04 and Fedora 11. Rather than bundling everything into one unmaintainable script as I did with Doris, however, there are separate GOAL scripts for each of these distros.
Here then is the current GOAL matrix (which I’ll update as necessary as new distros and new Oracle releases come along):
Instructions:
- Click a distro logo to download the GOAL version appropriate for that distro.
- Once the shell script has been saved (say, onto your desktop), just right-click the file and select Properties.
- Select the Permissions tab and click the Allow executing as program option.
- Then click Close.
- Now just double-click the downloaded file.
- When prompted, click the Run in Terminal option.
- Follow the prompts thereafter, and you should be good to go!
- Once Oracle has been installed and a database created, you will need to read the last two paragraphs of this post if you want to automate database startups whenever the server itself bounces.
Postscripts:
- I first intended to call this script the ‘graphical all-in-one oracle loader’, but I guess you can see why the acronym for that wouldn’t have worked out so well -at least if you know your English spellings!)
- There will never be a version of GOAL for Fedora or any other distro you care to name. Probably. You are welcome to take GOAL and make it support such other distros by your own efforts, provided you include the appropriate attributions in the resulting script.
- There will never be a version of GOAL for installing onto any 32-bit distro. As far as running a serious database goes, 32 bits are, these days, dead in the water.
- No significant errors are generated in any of the installations except for openSuse+10gR2, Fedora+10gR2 and Ubuntu 10gR2 & 11gR1 (all three generate a linking error for the ins_emdb.mk makefile). I don’t consider any of those errors to be serious enough to warrant further investigation by me (especially since they all involve older versions of Oracle whereas the newest version install flawlessly onto all three distros), but if you do happen to have a fix, I’d be more than happy to hear about it. The main thing is that for all distros and using all three Oracle versions, the installations will complete with a successful starter database creation.
- GOAL expects to run on a brand new installation with no prior software updates having been applied. If updates have been applied, GOAL will still probably work, but that configuration will not have been tested and results may therefore be unpredictable.
- GOAL also expects you to have installed your distro using all the defaults provided by the distro packager, with three exceptions: you must be using a fixed IP address, not DHCP; you must have SELinux disabled (or switched to ‘permissive’ mode) if SELinux is offered as an installation option; and you must have disabled any firewall the distro may offer to enable. Failure to achieve all three of these requirements as part of your initial distro install means GOAL likely won’t work properly (these are all standard Oracle requirements, anyway, not specific to GOAL). If your distro doesn’t give you the choice (Ubuntu, for example, doesn’t let you configure either SELinux or a firewall by default), then you need not worry about those requirements. You should, however, always specify a fixed IP address, no matter what distro you’re using (Oracle basically gets very upset if it’s installed with one IP address which then one day changes. Things break badly!)
- Doris/GOAL have variously been criticised for (a) invalidating Oracle Support and (b) not doing very much that’s original. I go with (b) myself. All these scripts do is automate the implementation of the instructions contained within the official Oracle documentation. They don’t improvise around that, so they really aren’t doing anything excitingly ‘original’ -and I hope you wouldn’t want anything excitingly original when it comes to installing a piece of server-class software! I guess my point is that if (b) is true, (a) cannot be. Besides which, if you’re installing onto OpenSuse, Ubuntu or Centos you don’t have any Oracle support to be invalidated anyway! Additionally, Oracle support is only ever interested in what your system’s settings are, not how they once came to be that way.
- If you are the kind of person that likes typing in a bucket-full of stuff before achieving anything, on the mostly-spurious grounds that by doing so you are ‘really learning something’,try to remember that you are not compelled to use these scripts; on the contrary, you are quite free to behave as though they don’t exist at all. Meanwhile, for the remaining 99.99% of sentient humanity, the scripts are in plain text -so, you are free to look at them and see what they do and the way that they do them. If you object to running third-party scripts for security reasons, for example, I quite understand… but you are not thereby prevented from executing the same commands that Doris or GOAL would have executed and thereby achieving the same results. You just need to read the scripts. You might even learn something about bash shell scripting by doing so!




