It is fairly easy to consolidate multiple databases into one real database. In Oracle, a database is the collection of files. Users connect to the database by connecting to an instance. A database can be served by multiple instances, in which case you are running RAC.
So for simply consolidating database into one single database you don't need RAC but you could, if you want/need to do this.
If you are consolidating into one database there are a few things to take into account:
- service level agreements - don't make maintentance impossible by combining conflicting slas.
- performance isolation - use Resource Manager to handle this
- application isolation - make sure the apps all use their own tns_alias to connect
- services - give every application an own service name in the database, if possible.
When you have naming conflicts, there is a problem, combination not possible.
You might want to take some downtime for maintenance/upgrades. If you can not get a downtime from all applications at the same time, you have a problem.
Using Resource Manager you can give a certain performance guarantee for the specific services.
Services are a smart thing to use, it is the easiest thing to see how resources are used, compared to one and other.
Easiest is to run multiple instances on a single server, each serving it's own database. This is the easiest but not the smartest thing to do. Smartest is to have a single instance on a single server. This is because every instance considers itself as the master of the server. You can not very easy isolate their resource usage, as you can do in a single instance. If you want to give some performance guarantee in a multiple instance server, the setup will grow in complexity because in many cases you need to start multiple projects and users to run your databases under.
A single database can easily support a few hundred applications, a lot cheaper than using a few hundred databases. This quickly saves BIG money on a yearly basis by making good use of Oracle features.