If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

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

I've been away for 2 weeks vacation and have returned to a situation where a server blue-screened and was rebuilt by IT and a consultant (and guess what - they have no docs or record of how they did it!). Anyway, they restored one of our DBs which keeps crashing now.

The application that uses it 'records' errors as they occur, but these do not appear in the alert log or any trace files so I'm completely stumped as to 'where' they're coming from.

The shared memory issue? We never had problems before with the Shared Pool size (ie no errors indicating a memory error). I'm loathe to just upping the SHARED_POOL_SIZE without knowing what the real cause of this problem is. Any ideas?

I'm back in just 10 minutes after 2 weeks lazing by a pool in the Canary Islands to find they've rebuilt a server and there are problems by the dozen all over the place! I've been dealing with the serious errors and hoping that my chums at DBASupport could help me out and save me a bit of typing!

Thanks amigo.

P.S. The pool was heated, the weather scorching and the beer very, very cold.

Originally posted by JMac I'm back in just 10 minutes after 2 weeks lazing by a pool in the Canary Islands to find they've rebuilt a server and there are problems by the dozen all over the place! I've been dealing with the serious errors and hoping that my chums at DBASupport could help me out and save me a bit of typing!

Thanks amigo.

P.S. The pool was heated, the weather scorching and the beer very, very cold.

Ok, understandable. I'll let you slide but be careful Davey and MH might not be so sypathetic

Oracle it's not just a database it's a lifestyle!
--------------BTW....You need to get a girlfriend who's last name isn't .jpg

The ORA error messages posted above were captured by the Application and recorded in an Error_log table in the schema. Hey - a developer doing something sensible! However, I can't find any ORA errors at all in the alert log. This database (call it 'c') links to DB 'b' and DB 'a'.

A - is the master database.
B - has a DB link and uses Views to replicate data at B based on data at A.
C - has a DB link and uses Views to replicate data at C based on data at B. Some queries against C will pull data from A via B via these views.

Make sense?

I can't find any ORA-04031 or ORA-00604 errors in the alert logs of DBs A, B or C.

So where can they be coming from. The Developer doesn't know - he says he just catches them! Is it possible that somehow one of these DBs has a messaging level that doesn't allow the messages to appear in the alert logs? (I very much doubt this).

Or can the messages be written somewhere else than the udump or udump destinations?

To further complicate things:
DB A is Ora 9.2.0.4

DB B is Ora 9.2.0.5
DB C is Ora 8.1.7

A is on a Windows 2003 server.

B and C share an NT4 server, and the contractors installed multiple Oracle homes and migrated each Db up from 8.1.5 in order to get some of the functionality between B and C working. Why they stopped upgrading C at 8.1.7 I don't know.

The errors are timed at 20 minute intervals. At almost the exact time as the system appears to archive redo logs (10Mb logs - the original DB had 1Mb logs and were sufficient for this fairly small system)

Metalink says: "This bug exists in 8.1.7 only. If _db_handles_cached is non-zero (5 by default) and you are seeing ORA-4031s and after setting _db_handles_cached to 0 the ORA-4031s stop, you may be running into this problem. "

As this Db is 8.1.7 and we do get ORA-4031a after ORA-00604 then it might be a bug. (But as we upgraded from 8.1.5 to 8.1.7 shouldn't it have been a problem before?).

I'll monitor the situation after setting the undcumented parameter and let you know.