Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: ORA-04031 - "unknown object" in shared pool ?
"Sally Pearce" <sally.pearce_at_ncr.com> writes:
> The message means that there wasn't enough shared memory left in the shared
> pool to perform the requested function. By increasing the size of the shared
> pool you resolved the immediate problem. A side effect may be that the
> available memory on the server is now so low that there is insufficient free
> memory on the server and it's having to page. This will certainly slow
> things down. You should be able to use sar (with the-r option) to see the
> usage .
Propably version 8.1.7 or 8.1.6 where I most frequently see this? I have not been able to get around this by increasing shared pool size, instead having someone say to your db "alter system flush shared pool;" frequently enough keeps that problem from emerging. It might be possible to have a dbms_job run like once a day saying that alter system. Needed frequency seems to depend on how busy your db is but also how much pl/sql you have loaded to your db in form of triggers and procedures and packages etc. On quite busy db with no pl/sql at all running this once a week was ok (the 4031 emerged after 2-3 weeks of continuous use), on semi-busy db with tons of pl/sql once a day was needed. It doesn't seem to hurt to run that more often.
-- Antti Järvinen, costello_at_iki.fi "concerto for two faggots and orchestra"Received on Mon Nov 25 2002 - 09:03:40 CST