It has long been an ambition of mine to have my very own RAC cluster database.
My former TUSC colleague and good friend John Smiley over at Amazon.com created a white paper some years back where he showed how to create a two node RAC cluster out of a couple of spare x86 Linux boxes and as I recall, some scotch tape, glue and pixie dust. It really was very cool and definitely worth a Blue Peter badge.
Besides the irony of $80,000 worth of software running on $800 worth of hardware, having your own personal RAC database allows the DBA to gain some familiarity with the bizarre and esoteric methodology Oracle uses to control its flagship scale out database option. Having your own RAC database allows you to experiment with srvctl, crsctl and figure out which is which, without having to jeopardize production.
Of course if you run RAC in production, you should have RAC in development and test also, but in my nearly twenty years of production DBA life, I have often found cases where development looked nothing like production.
Whereas Oracle’s generous license-key free software downloads have enabled DBAs to create their own databases at home to test all manner of functionality, building your own RAC has always been problematic due to the need for shared disk between nodes. As I recall, John used SCSI HBAs and disks to connect his two Linux desktops. Others published solutions using iSCSI file shares or fire-wire connected external disks. I still have a Maxtor fire-wire drive on my shelf from an earlier and abandoned effort.
Another former TUSC colleague and friend Dan Norris, who now does cool things with Exadatas over at Oracle, later showed how to use VMware to emulate the shared disks. This solution leveraged the very cool technology of VMware to dispense with the need for physical disks. I have to admit that as a production DBA I was always very dubious of virtualization, this despite having previously worked for IBM where virtual machines have been common place on mainframes since the 1960s. But my manager at EMC got me a license for VMware Workstation 8 and after a month or so of playing with this new toy I can honestly state that it is the coolest invention since sliced bacon.
So here, after a lot of trial and error, more coffee than I care to remember, and a certain amount of plagiarizing of John and Dan’s work, is a step by step guide to creating a two node Oracle 11gR2 RAC using VMware Workstation.
Specifically this is Oracle 11gR2 18.104.22.168 on Red Hat Enterprise Linux 5.5 64-bit on VMware Workstation 8. I built this two node RAC on my Dell Lattitude E6420 laptop with 8GB RAM and a 256GB SSD hard disk.
What you will need:
- An x86 64-bit computer with 8GB RAM and 100GB of hard disk space. You could probably shoe horn this into a 4GB RAM machine if you needed to.
- A minimum of a 1024×768 display with 256 colors.
- VMware Workstation. In this example I am using Workstation 8, although VMware has now released version 9. Since I only just got this a couple of months ago, and now VMware wants $120 to upgrade me to the next version, I am going to wait before upgrading. If anyone tries this on Workstation 9 and finds significant differences please let me know.
- Whatever OS VMware Workstation needs to run on. In my case I run it on Windows 7 Professional.
- The following software:
|Software Product||Download Link|
|VMware Workstation||VMware Workstation download|
|Red Hat Enterprise Linux 5.5 64-bit||Red Hat Enterprise Linux download|
|Oracle 22.214.171.124 Database – part 1 of 2||Oracle 11gR2 part 1|
|Oracle 126.96.36.199 Database – part 2 of 2||Oracle 11gR2 part 2|
|Oracle 188.8.131.52 Grid||Oracle 11gR2 x86 64-bit Download|
|Oracle ASMLib||Oracle ASMLib Download|
Finally you will need some coffee and about seven hours total to complete the installation. I have broken the process into ten discrete parts and provided timings throughout based on my best estimates. If you work fast and have a quick machine you may complete everything much sooner. If you like to review steps carefully and experiment you will obviously need longer.
The parts are laid out as follows:
The parts are laid out as follows:
All timings are suggested and approximate, and assume the reader will diligently follow all steps. Readers familiar with Linux and Oracle will be able to complete the process much faster than advertised.