views:

722

answers:

3

The server I am running oracle on is suffering from out of memory errors. Anyone know if/how I can limit the global memory resources that oracle will use?

I have SGA_TARGET_MAX = 500M and a session/process limit of 150, but our max concurrent sessions have not reached above 50.

A: 

Maybe it is better to ask this question in this forum: http://forums.oracle.com/forums/forum.jspa?forumID=61

You can participate in the OTN forums after registering. (Don't worry, it is free). Specialists will help you.

They will certainly ask for the ORA-number of the error(s).

tuinstoel
Right, by all means, let's discourage Oracle questions from SO. Microsoft runs .Net forums maybe we should send all of the C#/ASP/.net questions there.
A: 

try using profiles and setting the SESSIONS_PER_USER limit

Russ Bradberry
+1  A: 

You don't say how much memory your machine actually has (and whether all of it is available to the Oracle instance). There are two types of memory used by Oracle. The first is the shared memory (SGA), the second is process memory (PGA). SGA is generally easier to control.

From SQL*Plus, try SHOW SGA. See if that matches your target. Also try SHOW PARAMETER PGA Then query v$process and compare the total PGA of the processes with the target. You may have set the PGA_AGGREGATE_TARGET/SGA_MAX_SIZE total too high. Or maybe Oracle can't keep the PGA memory down to the target (eg due to sessions storing lots of information in PL/SQL arrays).

Gary