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 DirectorYou 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
Virtualization Strategies for the CIO
Join the conversationComment
Share
Comments
Results
Contribute to the conversation