I am working with a team that develops an application which works on SQL Server and Oracle.
SQL Server has the concept of an instance, which can house multiple databases. Oracle 10g requires one instance per database (and can allow more for redundancy), so for each database we run, we have a completely separate set of processes, and thus much greater memory usage.
Because of this, we've started moving more to having one instance with separate schemas. However, we still want to keep separate customers' (or dev machines') data separate.
Most of our instances are created using locally developed scripts (for example, oradim on Windows).
What can be done to cut down on the memory usage requirements, footprint etc, of Oracle instances, so that multiple instances can run safely on one machine? Is Linux or Windows a better host? Can we make easy gains by disabling extra features (data mining, Oracle Text etc) that we don't need?