Skip to Main Content
  • Questions
  • Reccomended Number of Instances Per Server

Breadcrumb

Question and Answer

Tom Kyte

Thanks for the question, John.

Asked: May 13, 2008 - 1:10 pm UTC

Last updated: March 30, 2009 - 5:18 pm UTC

Version: 10.1.0

Viewed 1000+ times

You Asked

I know you are not a fan of multiple instances and normally I wouldn't be either. Howerver, we have an application that was originally designed to run on multiple servers at multiple remote locations.

We have been asked to consolidate about 60 individual databases into one physical location using the least amout of hardware. Each of the databases is small and the number of transactions per day is under 100.

We are already using seperate schemas for live and archived data and the application is writen in Delphi with the schema names hard coded. There would be a lot of programming to make the change.

So my thought was to create multiple instances and point each user to the correct instance. But I have been told Oracle recommendeds no more than three instances per server.

I know some of this depends on the number of CPU's and the amount of memory and how the system is tuned.

My question is this, is there a point at which the number of instances will start to affect performance no mater how many resources you throw at it or if the server is big enough can you run as many instances as you want?

John

and Tom said...

Virtualization is called for here - you need to take your one big machine and make it pretend to be 60 separate machines.

We recommend no more than ONE instance per host - a host can be a virtual machine, a real machine, we don't care - but you want ONE HOST = ONE INSTANCE.

If you put two instances on a single host, you lose all ability to manage - to manage anything. A run away query on instance one will kill instance two's response times - but there will be *nothing* in instance two

a) to indicate that this is what is happening, instance two has no insight into instance one
b) to be able to rectify the problem


You'll want to take a serious hard look at machine virtualization at this point.


http://asktom.oracle.com/pls/ask/search?p_string=%22one+instance+per+host%22

Rating

  (7 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

John Runyan, May 16, 2008 - 9:16 am UTC

Thank you for your response. It will acctually make my job easier as the application was designed during the decetralized age of computing and dosn't lend itself well to the changes that were being asked for.

In a rewrite of the application we will keep in mind using the schema as the way to partition the individual office data. I think one of the best advantages of this is each smaller office can run very quickly in its own schema but we can the create a union if we want to look at the data from more than one office, something we can't do with individual databases.

Thanks again for you help.

One Instance running per host

Jose, March 23, 2009 - 2:43 pm UTC

We are involved in a project of an Oracle Database 10g RAC for 6 instances with 5 physical nodes.
It's not possible to use virtualization because we don't have enaugh knowledge and skills to go production with this technology.
It is not possible to unify instances due to software vendor requirements.
High avaliability against hardware failure is a requirement, but a small downtime is that case is rigth.
We consider that you recommend one instance per host and we are thinking that the only way to meet all of the requirements is to have all the instances in all hosts but only one running. Depending on the activity of the instances we could consider to have more than one instance in a host and instances running in more than one host.
what do you think of this aproach?

Tom Kyte
March 26, 2009 - 1:29 pm UTC

...We consider that you recommend one instance per host and we are thinking that
the only way to meet all of the requirements is to have all the instances in
all hosts but only one running. ...

i did not understand what you mean by that.

Alexdander, March 26, 2009 - 1:39 pm UTC

Jose,

Do you understand that RAC can and will reboot a node if it detects a problem? Consider that if you want another highly available instance sharing that server.

Why not virtual private databases?

Duke Ganote, March 26, 2009 - 3:14 pm UTC

That's what I thought of when reading "We are already using seperate schemas for live and archived data and the application is writen in Delphi with the schema names hard coded. There would be a lot of programming to make the change. "

Of course, nothing's "easy"...

Clarification

A reader, March 27, 2009 - 5:54 am UTC

Tom:
We have 6 databases.
We have 6 nodes.
What i suggest is to have all the nodes configurated to run the 6 instances of the databases, but only one instance running in each node, and depending on the activity we may start more instances.
Thanks for your atention.



Tom Kyte
March 30, 2009 - 3:31 pm UTC

bad bad idea.

any idea you have that includes the possibility of two instances running on the same HOST is bad.


your initial suggestion "we have six hosts, each host will run one instance" is good, you make it bad by continuing with "and we may start more instances" - that is bad.



auto_start

Jose, March 27, 2009 - 8:19 am UTC

Alexander:
I think that this will be configurable.
In the docs:
http://download.oracle.com/docs/cd/B19306_01/rac.102/b14197/crschp.htm#BCEBJEEJ
Preventing Automatic Database Instance Restarts

Tom Kyte
March 30, 2009 - 5:17 pm UTC


It doesn't matter - they will all contend with each other for everything - it will be an unmitigated MESS. Catastrophe would not be too strong of a term.

Do not go this way - especially with RAC

Clarification

Jose, March 30, 2009 - 11:08 am UTC

Tom:
We have 6 databases.
We have 6 nodes.
What i suggest is to have all the nodes configurated to run the 6 instances of the databases, but
only one instance running in each node, and depending on the activity we may start more instances.
Thanks for your atention.


Tom Kyte
March 30, 2009 - 5:18 pm UTC

bad bad idea.

any idea you have that includes the possibility of two instances running on the same HOST is bad.


your initial suggestion "we have six hosts, each host will run one instance" is good, you make it bad by continuing with "and we may start more instances" - that is bad.