This post is more than 5 years old
27 Posts
1
2232
Why would we not deploy 2 or more DBs in the same VMware VM?
Folks
Just looking for some obvious & not so obvious things to consider on why we would not run 2 DB instances in the same VMware VM.
Its ok to be Captain Obvious and state the obvious in a reply to this discussion question.
jeff_browning
256 Posts
1
March 24th, 2014 07:00
Matt:
The technique you are describing is called instance stacking. There are three approaches to consolidation, generally:
It is obviously possible (although not terribly common) to use any of these in combination. Thus, you could (theoretically) use instance stacking on a VM, as you indicate.
Problem is, both instance stacking and schema stacking are no longer recommended by Oracle as a best practice. I see these methods used occassionally (like Penske was using instance stacking in an EBC I attended recently). However, according to Oracle's own documentation (http://www.oracle.com/technetwork/database/multitenant-wp-12c-1949736.pdf), both instance stacking and schema stacking are now deprecated. The problem with instance stacking is that it provides no effective way to do things like load balancing and quality of service. Thus, one instance can run wild, and soak up all of the resources of the box, while the other instance is suffering performance issues. OS-level virtualization allows you to set resource sharing for VMs such that a production VM is guaranteed access to hardware resources, and a test / dev VM can never steal those resources away from the production VM. Similarly, with virtualization, you can use live migration to dynamically move a workload from one physical server to another, thus avoiding islands of capacity. Instance stacking provides none of these features.
As for schema stacking (which you did not ask about), that creates huge security concerns.
The way I usually put it in terms of both instance stacking and schema stacking is that they are not dead, but they are both smelling really bad.
Let me know if this helps.
Regards,
Jeff
Anonymous
5 Practitioner
5 Practitioner
•
274.2K Posts
0
March 23rd, 2014 23:00
Matthew let me be captain obvious. In terms of Load balancing and flexibility it seems easier to deploy within separate VM's. Also in terms of scaling within your instance it seems easier to have one instance per VM so you do not run into VM limitations (which fortunately are ample 64 Vcpu's and 1TB of memory)
mkaberle
27 Posts
0
March 24th, 2014 06:00
Thanks indranil
Sent from my iPhone, please excuse typo's
ichakrab
27 Posts
1
March 24th, 2014 06:00
I agree with Tony. If one instance uses more resources , the other may suffer in terms of performance. But the load needs to be really high in one instance. We should be very careful about the Virtual Memory OverCommitment here.
mkaberle
27 Posts
0
March 24th, 2014 06:00
Thanks. Good points tony.
Sent from my iPhone, please excuse typo's
sudhirbala
10 Posts
0
March 24th, 2014 08:00
good explanation, Jeff