You now have a properly configured and optimized
virtual machine for Oracle database server usage. The next step is
to tune the guest operating system both for virtualization and
Oracle database usage. It is really no different than tuning a
stand-alone database server. You need to make sure that you account
for correctly setting configuration files, operating system
parameters and database parameters as you always have. The only
difference is that CPU, memory and I/O assumptions need to be made a
little more generically since the hardware has been abstracted and
may probably change over time. So the preference is to have all your
tuning efforts apply relatively well going forward, when available
computing resources may increase.
The only ancillary complexity is that you now
may have multiple databases using some shared resources (much like
historically hosting multiple databases on a single box) and,
therefore, need to account for that at some point in your tuning.
But each optimization step should occur in its own due time. Tune
the virtual server first (last chapter). Then tune each of the
virtual machines as though you are still doing single database per
server deployments (which, technically speaking, could occur at some
point even in a virtual world). And finally, tune the guest
operating system and Oracle database for side effects caused by
sharing resources, but do not start here or try to do it all in one
pass.
Much like any scientific experiment or database
benchmarking, you should only change a single variable per test
iteration so that you can properly measure and accord your observed
results. I call this technique Incremental Tuning and suggest that
it is both the mandatory and only reliable way to correctly optimize
any computer system, especially a virtualized one being used for a
database.
Optimize by
Subsystem
It is best to think of a database server as
being composed of four basic subsystems, which should be the focus
of any operating system tuning efforts:
Furthermore, all the above areas should be tuned
with the servers purpose in mind hosting an Oracle database. The
basic idea is that the overall performance can be no better or worse
than the sum of its parts. Plus, all of the above are possibly
dynamic in the virtual world, so again making more generic
assumptions should generally lead to better aggregate results. This
is really nothing more than Incremental Tuning applied at the
first granular level of interest: the subsystems.
We will now look at doing just this for both Linux and Windows
(note that all these techniques would apply in some fashion to other
operating systems such as Sun Solaris, Hewlett Packards HP-UX or
IBMs AIX). In all cases, it is assumed that Oracle pre- and
post-install steps are being fully and correctly done. So the
following are in addition to Oracles default recommendations. A
summarization is included at the end of the chapter as well for
future quick reference.
This is an excerpt from
Oracle on VMWare:
Expert tips for database virtualization
by Rampant TechPress.