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.
Let’s 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 you’re 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 isn’t 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, you’re 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, you’re 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 you’ll 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.
In Closing
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 you’re 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!