Oracle has recently launched the 12c version of the database. Though the huge list of new features and options, definitely the most important one in this version is the pluggable database.
There is an entirely new architectural concept to make room for the cointainer - pluggable relationship, but why the trouble?
Do you know that feeling when you have several databases created on a single machine and the command ps -ef | grep oracle throws you a ridiculous list of processes?
In the case that one database is not loaded and the other one has a huge spike, in that moment did you ever think that the memory could be managed better on that machine and shared between the databases?
With the Oracle Database 12c there is the concept of a container database. As the name says it is really a container where you can create/plug/clone/unplug/delete... databases(called pluggable databases). The interesting fact is that the container manages all the things (processes, memory, some tablespaces,) that can be shared between the pluggable databases.
This makes it easier to manage several databases on the same machine.
In the case of prod, dev, test environment, how is it to clone the prod/dev database to create a new test database?
With the Oracle Database 12c is a matter of making the process easier. In staid of a large RMAN script is just a short command:
CREATE PLUGGABLE DATABASE PDB_TEST FROM PDB_DEV;
Well the benefits are much more then these but let me just keep the mystery until you test it.
http://www.oracle.com/technetwork/database/enterprise-edition/overview/index.html