Q
Problem solve Get help with specific problems with your technologies, process and projects.

Help with ORA-4031 error

I have a user running a script that is giving him the following error.

RETCODE= -1;  SQL STATE= HY000;  DB ERROR= 4031;
TEXT=
[Oracle][ODBC][Ora]ORA-04031:
unable to allocate 2196 bytes of shared memory ("shared pool","ICCYCLECNTPROFCE50ORADRIVER","KGLS heap","KGLS MEM BLOCK")
;
CLASS= fdSite; METHOD=executeStmt;
FILE=D:prismotf1dbaccesssrcdbstmt.cpp;  LINE=3843;
HENV=00F014E8;  HDBC=00F01A18;  HSTMT=00F01EF8;
insert into ce50oradriver.fdSite values...

My first assumption is to bump up the shared pool in the SGA. However, I'm suspicious that the real problem may be the SQL he is running. Any suggestions on getting a handle on this?
There are two popular reasons why the database is throwing the ORA-4031 error. The first is that the Shared Pool simply does not have enough space and you need to increase the SHARED_POOL_SIZE parameter. The second reason is that Oracle 8i had a bug where the instance did not manage the Shared Pool correctly. Even throwing more memory at the Shared Pool did not solve the problem This bug was fixed in Oracle 8.1.7.4 and Oracle 9.2.0. You didn't specify your version, but you may be in for an upgrade or a patchset to fix the error.

This was last published in October 2003

Dig Deeper on Oracle database design and architecture

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.

-ADS BY GOOGLE

SearchDataManagement

SearchBusinessAnalytics

SearchSAP

SearchSQLServer

TheServerSide.com

SearchDataCenter

SearchContentManagement

SearchHRSoftware

Close