Call now: 252-767-6166  
Oracle Training Oracle Support Development Oracle Apps

 
 Home
 E-mail Us
 Oracle Articles


 Oracle Training
 Oracle Tips

 Oracle Forum
 Class Catalog


 Remote DBA
 Oracle Tuning
 Emergency 911
 RAC Support
 Apps Support
 Analysis
 Design
 Implementation
 Oracle Support


 SQL Tuning
 Security

 Oracle UNIX
 Oracle Linux
 Monitoring
 Remote s
upport
 Remote plans
 Remote
services
 Application Server

 Applications
 Oracle Forms
 Oracle Portal
 App Upgrades
 SQL Server
 Oracle Concepts
 Software Support

 Remote S
upport  
 Development  

 Implementation


 Consulting Staff
 Consulting Prices
 Help Wanted!

 


 Oracle Posters
 Oracle Books

 Oracle Scripts
 Ion
 Excel-DB  

Don Burleson Blog 


 

 

 


 

 

 
 

Oracle VMware tips

Oracle Tips by Burleson Consulting
November 13, 2007

 

2008 Update: 

Please see Bert Scalzo's great book "Oracle on VMware: Expert tips for database virtualization". 

You can buy direct from the publisher for 30%-off.


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 2007 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 2007 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 OLAP consolidation - Mark Rittman notes the benefits of running Oracle 10gr2 with vmware with the Oracle Business Intelligence Suite (OLAP).
     

  • 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:

  1. Virtualized Server
  2. Para-virtualized Server
  3. 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. 

Here are my notes on monitoring a VM server for monitoring RAM paging and monitoring for CPU enqueues.

 

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 2007, 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 2007, 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.

Related Oracle vmware notes

Here are my related stories on Oracle vmware:

If you like Oracle tuning, you might enjoy my book "Oracle Tuning: The Definitive Reference", with 950 pages of tuning tips and scripts. 

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


 

 

��
 
 
 
 

 
 
 

 
Oracle performance tuning software 
 
oracle dba poster
Oracle Linux poster
 
 

 

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.


                    









Burleson Consulting

The Oracle of Database Support

Oracle Performance Tuning

Remote DBA Services


 

Copyright ? 1996 -  2014

All rights reserved by Burleson

Oracle ? is the registered trademark of Oracle Corporation.