The concept of virtual machines in not new and IBM
mainframes have had the ability to "spilt" mainframe machines using tools such
as Prism. In a nutshell, vmware allows the DBA to apportion hardware
resources (dedicated CPU, RAM, disk) as-if they were on a separate server.
Of course, Oracle has other ways to dedicate CPU's, (via the
Oracle affinity feature) and adjust CPU dispatching priorities with the
UNIX/Linux "nice" command.

In the world of minicomputers, VMware was largely ignored
until manufacturers began to offer large machines such as the HP Superdome and
UNISYS ES-700 series, large mainframe-like machines that are capable of
supporting dozens of Oracle instances. Also see
these 2015 updates to Oracle hardware architectures and the
costs and benefits of server deconsolidation.

Now, with the
2nd age of mainframe computing
arriving soon, these large monolithic servers can be split into "virtual
machines", allowing one "master" OS to host many other operating systems within
a single large server. Disk, CPU and RAM are now fault-tolerant and
redundant, making the monolithic approach very compelling to large corporations,
making Oracle vmware a important tool for multi-OS environments to achieve
server consolidation.

Instead of small, independent
servers, the major hardware vendors are pushing large servers with transparent
sharing of hardware resources, coining the term ?partitionable servers?.

Sun
- The largest
Sun Starcat server has 128 CPU's, and
Solaris processor sets allow for virtualization Solaris-based
applications and Solaris? containers are an integral part of Solaris 10.

IBM - IBM now goes beyond
the
Regatta class servers with the
P690, a behemoth with 128 processors. This allows Oracle shops to
scale-up within the same server.

UNISYS - The
UNISYS ES-7000 series offers a 32 CPU server capable of running dozens
of large Oracle applications

Without server consolidation, the DBA had to deliberately
over-allocate RAM and CPU resources to accommodate spikes in processing, a huge
waste of hardware power:

Oracle vmware reduces the waste of RAM and CPU on many
servers

The concept of vmware is that a "virtual machine" can be
used within the existing OS environment. The vmware approach is commonly
used in heterogeneous environments, such as running Windows on a Macintosh or
Linux platform.

Oracle has embraced the idea of server consolidation via
the 11g Grid initiative and Oracle noted at
OpenWorld 2015 that 99% of their customers run multiple instances within a
single host machine and they are pushing the vmware solution.
Oracle vmware is free for download, but vmware support will cost 499$/year
for 1 or 2 CPU systems and 999$/year for others.

Who uses Oracle vmware?

As the size of servers increases, Oracle shops seek uses
for vmware on their Oracle servers:

SOA - Oracle plans to incorporate Oracle vmware
into their fusion stack, allowing a method for unifying diverse applications
onto a single server using SOAP. Oracle President Charles Phillips
notes that Oracle vmware will help SAP shops migrate from their foreign
ERP's to Oracle Applications: "We want to help customers integrate their
software with third-party applications made in Germany".

Consolidating heterogeneous environments -
Oracle vmware is useful for shops that wish to consolidate different
applications onto a single hardware platform. A common example is
running Windows side-by-side with UNIX (HP/UX, Solaris, AIX, Linux) on a
large monolithic server.
For example, instead of buying six 2 CPU servers,
you can buy one 4 CPU 64bit server with 16G RAM, and save a bundle of
cash. For details, see my notes on the trend
towards
Oracle server consolidation.

Oracle application server - Oracle Application
Server can be run with Oracle on a single server using vmware. Col.
Garmany has notes on
Oracle App Server and vmware.

Students - Using vmware is popular among people
who want to learn RAC on a personal computer, whereby vmware can allow a
single server to mimic several RAC nodes. For details on using vmware
with Oracle clusters, see Edward Stoever's book "Personal
Oracle RAC Clusters".

Testing - Oracle vmware is a good way to isolate
and try-out new platforms and products without affecting other applications
on the server (except for hardware resources
(CPU, RAM and disk I/O). Mark Rittman notes that

"VMWare is pretty cool actually if you're looking to use
Oracle; you can set up a Linux environment without losing all the driver
support you get with Windows, and it's a good way of creating an environment
for yourself where you can experiment without worrying about breaking things
and having to reinstall everything."

Alternatives to Oracle vmware?

As we noted, Oracle affinity and CPU dispatching can be
used to pseudo-segregate homogenous applications on the same server, but there
are other alternatives than Oracle vmware for heterogeneous environments.
In his article
The Rise of the Virtual Machine, Lt. Col Garmany notes the three types of
virtualization and the advantages and disadvantages of Oracle vmware:

Virtualized Server

Para-virtualized Server

Containers

Manual virtualization and partitioning techniques

Virtualization is one of the oldest technologies around,
and IBM mainframes have had virtualization tools since the 1970's. It's a mature
and well-defined area.

It's important to note that virtualization is about fencing
RAM and processor access. It's not about disk resources since they are
controlled at the application level.

It's easy to keep an instance
from hogging the CPU by using the cpu_count as a processor fence (you can
set cpu_count=4 on a 32 CPU machine, and the instance will only use two
processors, and that you can use the resource_manager_cpu_allocation to
control processing resources. At the OS level, you can also control resources
with the CPU affinity features, and you can adjust the priority of individual
processes with the Linux/UNIX ?nice? command, which changes the
dispatching priority for server tasks.

Virtualizing CPU resources

Processor (CPU) dedication is called "CPU affinity", and
it's been used for decades on large mainframe computers.

Today, CPU affinity a common technique on large Oracle
servers with dozens of applications and Oracle databases to keep any single
application from "hogging" all of the processing power. The downside, of
course, is that one application may suffer CPU enqueues (as evidenced by the "r"
column of vmstat output).

Remember, CPU affinity is O/S specific, where you tell the
OS to route specific classes of tasks to specific processors:

Solaris - You can create a processor set:

Linux - You use the Linux processor schedule
utility (schedutils)

Oracle also has some hidden parameters that enable/disable
CPU affinity, but YOU MUST get the consent of Oracle Technical support before
altering an undocumented parms:

_affinity

_enable_default_affinity

That's NICE

Within the server, all tasks are queued to the CPUs
according to their dispatching priority, and the dispatching priority is
commonly referred to as the nice value for the task. Those tasks with a low nice
value are scheduled ahead of other tasks in the CPU queue, while those tasks
with a high nice value are serviced later.

In emergency situations where you cannot immediately get
more CPUs, you can assign a very low dispatching priority to the Oracle
background process, causing them to get CPU cycles ahead of other tasks on the
server.

This will ensure that Oracle gets all of the CPU that it
requires, but it will slow down any external tasks that are accessing the Oracle
database. To do this, the systems administrator can alter the CPU dispatching
priority of tasks with the UNIX nice or priocntl commands. The
UNIX nice command is used to change dispatching priorities, but these
numeric ranges vary by operating system. In general, the lower the nice value,
the higher the priority.

Fallacies of Oracle virtualization

Some
general fallacies about the hazards of vmware consolidation include some common
misconceptions:

?Fallacy: Single point of failure
- Properly configured, none of these
architectures suffers any a single point of failure. Today's hardware has
fully-redundant everything, and with geographical data replication (Streams,
Dark Fiber RAC), and hardware-related failures are becoming quite rare.

?Fallacy: Rogue applications can
"hog" a centralized computer - Also, the
segmentation of large computers into smaller, fully isolated slices had been
done successfully for decades, and the system administrator has the ability to
"fence" RAM and dedicate CPU's to specific applications. (Using CPU affinity,
the "nice" command, setting cpu_count and
resource_manager_cpu_allocation). Also,
vmware solutions provide a similar solution for mixed OS environments.

Is Oracle vmware right for my shop?

Oracle vmware is designed primarily for multi-OS shops and
it's not one of the best solutions for partitioning hardware resources within a
all-Linux environment (see CPU affinity and the "nice" command).

Single point of failure - Consolidating diverse
platform applications onto a single server imposes a single point of failure
and the DBA must ensure that the server is fault tolerant with fully
redundant CPU, RAM and disk.

vmware overhead - Also, we must remember that
Oracle vmware imposes some overhead, and a savvy DBA will always perform a
workload benchmark using other alternatives (containers,
para-virtualization) before choosing Oracle vmware. See Dr. Scalzo's
book "Oracle
Benchmarking" for details on performing valid tests of Oracle
environments with real-world workloads.

The main drawback of Oracle vmware is the hardware overhead.
The Oracle vmware overhead is primarily a RAM strain, the overhead from caching
VM request and processing them correctly within each virtualized
server being hosted. Remember, the overhead of virtualizing everything can be quite
large and your server must be able to handle the load of each hosted virtual server
and the overhead of the virtualization process.

A history of Oracle vmware

In early 2005, Oracle has announced that their latest
version of Oracle
VMWare will come pre-loaded with both Linux and Oracle, making it easier
than ever to run Linux on a MS Windows server.

At Oracle OpenWorld 2015, Oracle announced
vmware-ready software, causing a decline in
vmware stocks and raising ORCL
shares. The Oracle VM software can be downloaded free, and it's based on
the Xen open-source hypervisor product.

As of 2015, Oracle vmware is limited to Intel platforms,
and Oracle VM will support only Linux and Windows servers. Oracle VM also
offers a GUI management console (HTML-based) to allow easy management of both
the overall OS and the virtual machines running under the master OS.

You can buy it direct from the publisher for 30%-off and get instant
access to the code depot of Oracle tuning scripts.

��

Burleson is the American Team

Note:This Oracle
documentation was created as a support and Oracle training reference for use by our
DBA performance tuning consulting professionals.
Feel free to ask questions on our
Oracle forum.

Verify
experience!Anyone
considering using the services of an Oracle support expert should
independently investigate their credentials and experience, and not rely on
advertisements and self-proclaimed expertise. All legitimate Oracle experts
publish
their Oracle
qualifications.

Errata? Oracle technology is changing and we
strive to update our BC Oracle support information. If you find an error
or have a suggestion for improving our content, we would appreciate your
feedback. Just e-mail:
and include the URL for the page.