Han Brinkman
16th October 2006, 16:05
Like to hear experiences with using sga_target in Oracle 10G.

We still get ora-4031 although using sga_target means that Oracle manages memory it self.
Looks like you still have to set shared_pool_size to a reasonable size.

Regards,
Han

Martin
26th October 2006, 11:35
Hi Han,

no Problems with the automatic memory management in all my Baan-Installations. (running on SLES8, SLES9 and W2003)
Are you shure that automatic memory management is enabled ?

greetz
martin

Han Brinkman
26th October 2006, 11:58
Hi Martin,

Yes I am sure.

I use sga_target to give oracle the memory and set shared_pool_size as well to make sure that Oracle reserve a minimum for it.

On my production server:
sga_target=1150M
shared_pool_size=500M

On test server (with less memory)
sga_target=500M
shared_pool_size=350M

Like to know what values you use.

Regards,
Han

Martin
26th October 2006, 12:38
Hi Han,

hier is an example from one of my DB (a very big one)


Automatic Shared Memory Management Aktiviert
Gesamte SGA-Größe (MB)


SGA-Komponente Aktuelle Zuweisung (MB)
Shared Pool 864
Buffer Cache 2208
Large Pool 16
Java Pool 16
Andere 48

And here a small one :

Automatic Shared Memory Management Aktiviert
Gesamte SGA-Größe (MB)



SGA-Komponente Aktuelle Zuweisung (MB)
Shared Pool 328
Buffer Cache 88
Large Pool 4
Java Pool 152
Andere 8




As you could see, the automatic shared memory management must be activated by Enterprise Mangager, an don't set any memory parameter as shared_pool_size ...
Oracle set these parameter automaticly.

martin

Dikkie Dik
26th October 2006, 14:41
The SGA_TARGET is the maximum Oracle *tries* to run in. The maximum is set by SGA_MAX_SIZE. If the amount of memory is more than this, you get the error as you describe. The memory is needed can be effected by a lot of parameters like cursor_space_for_time and session_cached_cursors.

BTW: To enable Automatic Shared Memory Management, the STATISTICS_LEVEL parameter should not be BASIC. The default for STATISTICS_LEVEL is TYPICAL.

SQL> SELECT statistics_name, activation_level FROM v$statistics_level;

SQL> SELECT component, current_size FROM v$sga_dynamic_components;

Hope this helps,
Dick