Optimizing Xen virtualization for Oracle databases

Optimizing Xen virtualization for Oracle databases

With a few tweaks to Xen virtualization, it’s possible to run Oracle databases inside virtual machines without performance issues, but you should be mindful of the support problems that may arise.

In the early days of virtualization, running Oracle databases in virtual machines (VMs) wasn't necessarily a good idea. The hypervisor needed to trap and emulate instructions from the virtualized operating system before sending them to the hardware.  Called full virtualization, this method reduced the database’s performance when compared with running on bare metal.

That changed with Xen’s paravirtualization feature, which sends instructions directly to the hardware, bypassing the hypervisor. This feature eliminates the performance gap between the Xen virtualization and running on physical hardware, allowing you to virtualize Oracle databases without any performance worries. All brands of Xen virtualization offer this method, including Citrix Systems XenServer, SUSE Linux and Oracle VM. The only requirement is an operating system that supports paravirtualization.

Optimizing Xen virtualization for an Oracle database
When running Oracle databases in a Xen-based infrastructure, there are ways to ensure your workload is achieving the best possible performance.

First, you must

    Requires Free Membership to View

    When you register, my team of editors will also send you the latest expert resources covering all areas of server virtualization, such as platforms, architectures and strategies, server hardware, managing virtual environments, application issues and more.

    Margie Semilof, Editorial Director

    By submitting your registration information to SearchServerVirtualization.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchServerVirtualization.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

optimize the hypervisor settings. In general, there aren’t many adjustments you can make to a hypervisor. But you can choose between paravirtualization or full virtualization. Generally, paravirtualization is faster for virtualized Oracle workloads. But you should always test which Xen virtualization method is faster, because speeds may vary depending on your database workload.

You also want to ensure that the virtualized OS, which is running the Oracle database, has access to enough hardware resources. For example, use CPU pinning to ensure that every virtual CPU reserved for the Oracle database is paired with a physical CPU core. In this configuration, all of the available physical CPU cycles are offered to the Oracle database.

Next, you must choose the right OS. Oracle databases mainly run on Linux OSes, most of which support paravirtualization. Even if you choose another OS, you can run a virtualized Oracle database without a performance hit as long as the OS kernel supports paravirtualization.

Ultimately, the real optimizations occur at the OS level. For instance, the kernel parameters must allocate enough resources for the Oracle database’s shared memory and simultaneously opened files. But this approach is true for every virtualization platform that runs Oracle databases, not just Xen virtualization.

Support considerations for running Oracle databases on Xen
So can you virtualize Oracle on any brand of Xen virtualization? From a technology perspective, the answer is yes. It doesn't matter if you run it on XenServer, SUSE Linux or Oracle VM.

But Oracle doesn’t support every virtualization platform. Obviously, Oracle prefers that you use Oracle VM, but the company also has qualified support for its databases running on VMware. And, as of now, XenServer is not an option.

This was first published in October 2011

Join the conversationComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.

    Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.