Building an Oracle (and other RDBMS) Server Environment
January 26, 2010
In some prior articles on Oracle and VMware, the hardware and software components consisted of a Windows-based PC and the Oracle RDBMS. This article will expand upon the Oracle in a virtualized environment concept by looking at other alternatives for the hardware and software.
Lets start off with the hardware. By and large, most everyone familiar with Oracle is going to know about UNIX variants and Windows as the main choices for the underlying operating system. However, a relatively obscure option involves another OS as in the OS X found on Apple (or Mac) computers. Under the Technologies A-Z link on the Oracle Technology Network home page, continue on to the Mac OS X link and end at the Oracle-on-Mac OS X Technology Center page. Depending on which piece of Mac hardware youre using, you will be able to install Oracle on a Mac and not see much difference in how the database system operates, especially on the UNIX side (since OS X is for all practical purposes UNIX based). But, this is not what the article is about, other than the introduction to Mac.
Using a Mac laptop such as a MacBook Pro, you have several options as to the creation and use of a virtualized environment. The default, out of the box option is to use Boot Camp Assistant. The Boot Camp option isnt really a virtual environment in the sense of how VMware works, but is more of a choice in that you can choose to have the MacBook boot up in OS X mode or in Windows mode via this utility. So, this leads us to the option of relevance for this article.
Another utility (okay, software application), which serves as the driver for the virtual machine environment, is Parallels. The specific application is Parallels Desktop® 5 for Mac. Within Parallels, you have the option of creating any number of virtual machines based on not only Windows, but UNIX as well. Just under the Windows options, you can install XP, Vista (no really, avoid Vista like the plague), Windows 7, 2003 Server, and 2008 Server. Other options can be seen in the expanded options list.
The Linux options are fairly extensive in quantity.
Drilling down to other options, BSD and Solaris are also viable alternatives.
Obviously, some of the older versions of Windows and some of the Linux versions are irrelevant, but at the same time, you can see where current operating systems are at the forefront.
In the supported realm, as in what can you install Oracle on, the Windows Server options are a mixed bag. Server 2003 enjoys a good support status (certified) for several versions of Oracle. If you can get Server 2003, youre pretty much home free as far as solving the Oracle in a VM environment on a Mac using Parallels. When it comes to Server 2008, a minor cheat is needed, and more on that in a bit. As with all create a new VM setup with Parallels, all you need is a CD or DVD with the software for your OS of interest. The CD/DVD needs to be bootable, as opposed to running setup.exe based on using an existing OS and letting Windows blow away the current OS and then installing the one in the optical drive.
Put another way, for Windows Server options, you need an ISO image. For Server 2008, youre going to be limited to using this OS on a 64-bit architecture. But, this is not a problem because OS X runs as a 64-bit system. Getting Server 2008 is not a problem either, as Microsoft offers a 180-day free trial. From a MacBook (using that as our representative OS X computer), use whichever browser (Safari installed by default, or download Firefox and use that) and register for/download Server 2008. From within the MacBook, burn the ISO to DVD and getting Server 2008 configured as a virtual machine is as simple as installing 2008 as you would on a traditional (and supported) piece of hardware.
To get Oracle installed on Server 2008, you have to edit the oraparam.ini file found in the install directory (just download and extract the production_db zip file like you would on a Windows PC). Without access to My Oracle Support (for a patchset, assuming you wanted to use Oracle 10g R2), the installation on Server 2008 is going to fail a prerequisite check. Roughly speaking, the DOS version of 2008 is one point release up from the supported versions.
In the ini file, add 6.1 to the list of versions in the section shown below.
[Certified Versions] #You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE Windows=5.0,5.1,5.2,6.0,6.1
Further down in the file (after the 6.0 optional section), add in the 6.1 required and optional settings (just copy the 6.0 ones and change 6.0 to 6.1).
[Windows-6.1-required] #Minimum display colours for OUI to run MIN_DISPLAY_COLORS=256 #Minimum CPU speed required for OUI #CPU=300 [Windows-6.1-optional]
After the edit is done, running setup.exe for Oracle works just fine. Of course, none of this excludes other installation requirements such as installing a loopback adapter, which in Server 2008 is a bit different path-wise than before. Within Device Manager, under Action, select Install Legacy Hardware and drill down to Network Adapter, and from there, choose options as shown below.
One thing to note is the path of where you (may) have the Oracle installation files extracted. The path here is a bit more flexible than what youll see when it comes to SQL Server. I used the Downloads folder, but what that translates to is Network>.psf>Home>Downloads. This is not the same as <drive:>\Downloads.
Once the Oracle installation is done, you can add SQL Server to the mix. If you download the self-contained EXE file (SQLFULL_X64_ENU), use of the Network>.psf>Home> path for the extracted files will cause an almost immediate failure of the installer. Either extract to directly or move/copy the extracted files to a clear-cut path on the C:\ drive (e.g., C:\mssql). From the normal path, the setup.exe file will run just fine, and the installation looks just like it does on a traditional piece of hardware.
Finally, just like with VMware, something you can do within Parallels is to take a snapshot of your environment. The snapshot feature is extremely useful for keeping your environment in a working state. For example, if you install a patch (OS or Oracle) and things go awry, restore the snapshot and you are back to a good working state.
Yet another feature within Parallels is the ability to capture an image of an existing computer and transplant that into a VM on the Mac. Parallels Transporter installs an agent on the source computer, and you then have three options as to how the source/image gets from there to the Mac (over the network, a special USB cable from Parallels, or file to external drive and external drive to the Mac). The times I saw using all three (for a 100GB image) ranged from nearly 24 hours over a wireless network, to 6 hours via external drive (just for the backup part, does not count the restore of the file onto the Mac), to 2 hours via the Parallels USB cable. With that in mind, you would want to use a different version of Parallels (Parallels Desktop Switch to Mac Edition). This boxed version includes the specialized USB cable and the extra $20 or so is worth the price time-wise.
Running a VM environment on a Mac gives you exposure to options you may not have otherwise on a regular PC or laptop. If youre considering getting a new laptop, check out what you can get with a MacBook Pro. Feature-wise, considering memory, number of CPUs, and ease of installing a larger hard drive, combined with a lower cost VM software application, pretty much all of Oracle software is at your disposal.
And, as a proof of concept, the picture below shows several things. One is the successful installation of Windows Server 2008 in a VM environment, courtesy of Parallels. The second is the working installation of SQL Server 2008 Enterprise Edition (also on a 180-day trial basis from Microsoft). And finally, it also shows the successful installation of the Oracle RDBMS, as indicated by the linked server query to the EMP table in the SCOTT schema. Piece of cake!