Unless you’re running on Windows, installing Oracle can be a bit tricky. It’s not so much the installation itself that’s the problem, though: it’s more the fact that you are supposed to do a whole bunch of pre-configuration steps to get things like kernel parameters and environment variables right. None of that is actually very difficult, it’s true; but it’s a definitely a lot of typing, prone to errors …and quite frankly a pain in the butt if you do it more than once in a blue moon.
All of which explains why I’ve spent many years trying to automate the process as far as possible. Keeping the choices down and the amount of typing required to a minimum means you can build your Oracle database servers mean, lean and repeatedly ‘correct’.
This article shows you what’s involved in achieving that, and requires you to have read and implemented the contents of the earlier Building an Apache Web Server article. So if you haven’t read that yet, please do so before proceeding further with this one.
An Oracle database server requires oodles of hard disk space, as much RAM as you can possibly manage and as many processors (or cores) as you can manage. The more the merrier on all three counts, basically.
However, as a bare effective minimum, I’m going to suggest 2GB RAM, 30GB Hard Disk Space and 2 CPUs (or cores, if we’re talking multi-core CPUs, which we probably are these days).
I’m also going to suggest, strongly, that you want 64-bit everything: O/S and Oracle software alike. The days of running a database server that is incapable of seeing more than about 2.5GB RAM are (or ought to be) far behind us: 64-bits might not, technically, be necessary if you’ve only got 2GB RAM, but you’ll almost certainly want to grow over time. With 32-bit software, your growth paths have a clear end (and not too far away, either). With 64-bit software, your growth path is, effectively, unlimited. All CPUs made at least in the last four years or so have been capable of running 64-bit OSes, so I don’t think this is really news to anyone… but if you’re languishing on a 32-bit platform, it’s time to upgrade.
As ever, I’m going to suggest you build your Oracle server as a new virtual machine. You wouldn’t do that in a production environment (at least, not using VirtualBox or VMware Player desktop virtualization products!), but it makes for a convenient learning and experimentation environment. So long as your physical PC has 4GB RAM and a dual-core processor minimum, it will handle the sort of Oracle server I’ve described with ease.
Obtaining the Software
There shouldn’t be any software to obtain by now! If you read and followed along with my Building an Apache Web Server article you’ll already have downloaded the 64-bit Linux Oracle software (as two zip files) and the Gladstone preconfiguration shell script.
Otherwise, the only thing you really need is a decent 64-bit Linux distro …and I’m going to suggest you stick to the ‘Enterprise-class’ ones which are clones of Red Hat Enterprise Server 5.x or 6.x. If you prefer to install onto, say, Fedora or Ubuntu then you can do that, but it’s a far trickier process and I’m not going to document it here (and you’ll never see those distros in use in a production setting -not for Oracle purposes, anyway). Instead, I’m going to suggest Centos or Scientific Linux. These are near-exact clones of Red Hat, but they don’t cost any money to use (Red Hat requires you to pay for a license before you can update the software -and quite a lot of it!). Since Oracle certifies its software to run on real Red Hat Enterprise Server (RHES), it will run without fuss or drama on either of these exact clones of RHES -though it’s not actually certified to do so.
Of the two, I prefer Scientific Linux. At the time of writing, Centos still do not have a version 6.0 clone out and their developers seem to have trouble (a) keeping up to speed and (b) staying polite with their users.
Scientific Linux has a 5.6 and a 6.0 version out; I’m going to suggest you use the 6.0 release, but that’s just personal preference for using the latest-and-greatest of anything! Either version works well with Oracle and the installation process is practically identical for both, too. You can download the distro from many official mirrors, but this is the one I use for 5.6 and here’s the one for 6.0
Building a Suitable Virtual Machine
I won’t go through all the steps of how to create a new VirtualBox virtual machine, since I did that in the earlier article. The main things to look out for, though, are:
Make sure you specify a 64-bit version of Red Hat as your guest operating system (unless you’ve chosen to use another distro, of course, in which case I’d stop reading this article if I were you!)
As I mentioned above, an Oracle server really needs as much memory as you can throw at it, but 2GB should be considered a useful minimum. I have 4GB of physical memory on my host PC, so this is taking a good chunk of that, but it still leaves me with plenty for running smoothly.
When it comes to creating a new virtual hard disk for your Oracle server, 30GB should be considered a useful minimum. Go bigger if you want, of course, but this is fine for my purposes.
Once your virtual machine has been created, click the [Settings] button and check the following:
- System > Processor : Set to 2 (or more) CPUs
- Audio : Disable audio
- USB : Disable USB Controller
- Network : Change the network adapter to be type Bridged Adapter instead of the default NAT
- Storage : Click the Empty IDE controller, then use the little CD icon under ‘Attributes’ to point to the Scientific Linux installation DVD ISO, wherever you’ve chosen to download it.
Finally, make sure that your Apache web server is running and contactable (try and visit it in your host PC’s Internet browser, for example). We’ll be needing the Kickstart scripts we uploaded to it toward the end of the earlier article.