Re: Virtualization

From: Mladen Gogala <gogala.mladen_at_gmail.com>
Date: Sun, 5 Jan 2014 17:01:03 +0000 (UTC)
Message-ID: <pan.2014.01.05.17.01.03_at_gmail.com>


On Tue, 31 Dec 2013 10:10:18 +0200, Jack wrote:

> Does somebody run Oracle database in virtual environment, VMWARE ?
>
> How about "Oracle Virtual Compute Appliance", just to get that "Trusted
> Partition"
> -pricelevel for entrylevel? Any experiences?
>
> "Current Oracle policy recognises three types of partition: (1) a hard
> partition; (2) a software partition; and (3) an Oracle Trusted
> Partition."
>
>
> Old severs are getting antiquet, and all new servers are nowadays
> virtual.
> Or should we use Express/sqlserver??
> Any good opinion/advice, thanks.

As a consultant, I've seen my fair share of Oracle being run in the virtual environment. On one hand, the performance is less than impressive. None of the hardware acceleration aids, so readily used by Oracle, can help in the VM environment. Oracle code exhibits fairly decent locality of reference when checked by perf and systap, but this doesn't really help in the virtual environment, since L1 cache is virtual, not hardware. Huge pages are also pointless in the virtual environment.
On the other hand, there are significant administration and license savings. VMWare can be configured to be fault tolerant and clustered, which will make your database highly available, without paying for an additional standby license. Also, you can have "throwaway" development databases which are backed up and extinguished if Oracle decides to do a license audit. Resurrecting a virtual machine from VMWare snapshot is a really quick operation.
So, what would I recommend? Nothing at all. It all depends on your business needs. Virtualization is an ancient concept, from the time I was working on something called VM/CMS, programming in COBOL things that were called CICS and DL/I. The first part used to stand for "Virtual Machine". Essentially, the company had a mainframe and was running a MVS virtual machine and a DOS/VSE virtual machine for the older programs. These machines were real virtual machines in the full sense of the word, as we know them today. The time frame was mid-80's. How did all that work? For some companies it didn't: they moved completely to MVS, ditching the ancient DOS/VSE. For some companies, it worked great. The same holds true today. VMWare is a great software and continually improves performance. The virtual machine that you need to run Oracle will need to be approximately 30% stronger than the raw iron. That means some more licenses, because Oracle will count virtual CPU threads just as it would count the real CPU threads. It all boils down to your business needs and what are you willing to invest.
There is also a specific situation if you don't have the existing applications but are going to develop the applications or if you have applications developed using DB agnostic tools like Grails. Then, you can experiment with DB2, which is an excellent database, more than 50% cheaper than Oracle on Linux and can do everything that Oracle can do. DB2 runs well in the virtual machines. Again, the same thing applies as to Oracle: the VM needs to be about 30% stronger than the raw iron. The downsides of DB2 is that good DBA personnel is hard to come by, the amount of literature is rather limited when compared with Oracle and IBM sales force isn't doing a swell job pushing their product. This is as much as I'm willing to write without asking for $120/hr. Such discussions and advice are my bread and butter. Happy New Year.

-- 
Mladen Gogala
The Oracle Whisperer
http://mgogala.byethost5.com
Received on Sun Jan 05 2014 - 18:01:03 CET

Original text of this message