cancel
Showing results for 
Search instead for 
Did you mean: 

ORA-04031: unable to allocate 4224 bytes of shared memory

Former Member
0 Kudos

Hi all,

i've received the following oracle error on a quality system.

> Database error 4031 at SEL access to table RSEUMOD

> ORA-04031: unable to allocate 4224 bytes of shared memory

> ("shared pool","SELECT * FROM "RSEUMOD" WH...","sql

> area","kafco : qkacol")#

We have Oracle 9.0.2.7 and SAP R/3 4.7.

The parameter "shared_pool_size" on the init<SID>.ora is set to 404834222

As i've red the note 1120481, i'd like to know if i have to consider this as an Oracle fault (and then schedule an Oracle upgrade to the 10.2.0.4); if not, please could you lead me to the resolution?

Thanks in advance to anyone will help me!

Best regards

Accepted Solutions (1)

Accepted Solutions (1)

markus_doehr2
Active Contributor
0 Kudos

> As i've red the note 1120481, i'd like to know if i have to consider this as an Oracle fault (and then schedule an Oracle upgrade to the 10.2.0.4); if not, please could you lead me to the resolution?

Since Oracle 9.2 is out of general maintenance (see first topic on ) I highly suggest upgrading to 10.2 (aside from this problem).

Markus

Answers (3)

Answers (3)

Former Member
0 Kudos

I mixed Ora 4031 with ora -4030.

Thank martin for correcting me.

Thanks

Amit

Former Member
0 Kudos

to quickly solve your prolem

Please check the ulimit for orasid and sidadm

and set the data and stack unlimited.

Thanks

Amit

Former Member
0 Kudos

Don't mix up ORA-04031 and ORA-04030. Heap and stack limits have nothing to do with ORA-04031 (only with ORA-04030).

SAP note 869006 should provide comprehensive information how to analyze and resolve ORA-04031 errors.

Kind regards

Martin

Former Member
0 Kudos

I've solved the problem enlarging the amount of shared_memory_pool again.

As it is a quality system i've not tried to find different and more sophisticated solutions.

Thanks a lot to all of you.

Massimo Solleretto

Former Member
0 Kudos

Hi Massimo

The sap note 1120481 does not match your problem. It starts with If you use Oracle 9.2.0.8 or Oracle 10.2.0.2

Besides in your case the "sql area" was the one which got full. This could be caused by a large SQL statement, i can see it was something like SELECT * FROM "RSEUMOD" WH...

There should be a trace file in your saptrace folder, please check if for example the where clause consists of lots of entries. If it does, then the SQL should be fixed.

If the SQL statement looks ok then:

Short Term: You can empty the shared pool at runtime with SQL> alter system flush shared_pool;. Please handle with care, this might shortterm negatively affect performance. If the ORA-4031 happen again and again, try to increase the shared_pool_size.

Long Term: as already suggested upgrade to 10.2.0.4 (you still might need to increase the shared_pool_size)

Best regards

Michael