I have one application server separate from an Oracle server (one physical server). I have three instances on one Oracle Database Server (another physical server).

I want to have three environments to work in, Development, Test, and Production.

Should these be three Instances or three Schemas that use the same Instance? Edit: The server can physically handle it either way (i.e. has enough space, memory, and so on.)

1 Answer 1


You most certainly don't want to have dev, test, and production all sit in the same instance. I wouldn't even put them on the same server.

Having separate instances for environments that serve different puproses allows you to isolate them from the security and maintenance perspectives. For example, if your development database needs to be restored, you don't want to put your production environment offline for that reason. You'll probably also have stricter security in production.

Even performance-wise separate instances are useful while sharing the same physical (or virtual) machine. For example, by limiting memory_target on the development instance you will ensure that runaway sessions in development won't eat up all resources on the server.

  • Don't all those instances eat up memory?
    – johnny
    Commented Oct 19, 2017 at 20:10
  • They all, of course, use memory. What you need to do is set upper limits for each so that they don't affect each other. They will still compete for CPU and I/O bandwidth though -- that's why I said I'd set up different environments on separate servers. These days spinning up a development server on one of the cloud providers costs less than visiting Starbucks.
    – mustaccio
    Commented Oct 19, 2017 at 22:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.