Oracle 11g Error issue help

Asked By 60 points N/A Posted on -


A message to all Oracle programmer’s and designers regarding an error. I am using Oracle 11G with Solaris and recently I got this error that unable to allocate 4200 bytes. What is this error due to? I tried to annually allocate memory for shared pool, but problem didn’t resolve. I also tried to resolve it by attaching the output of some queries, but yet no success.

I also tried to flush the shared pool and after all this I restarted the system, but yet same error appears. I want this issue quickly resolved. I know there might be a solution to it but one of you can do it, so please whosoever knows the solution respond immediately.


Oracle database Error

Error:ORA-04031: unable to allocate 4200 bytes of shared memory(“shared pool”,”unknown object”,”sga heap”,”state objects”)


Best Answer by jjon steafen
Best Answer
Best Answer
Answered By 0 points N/A #121777

Oracle 11g Error issue help


You can check these problems to solve your problem:

  1. You can bounce the database to increase your SHARED_POOL_SIZE.
  2. Increase your SHARED_POOL_SIZE memory. Manually allocate the memory.
  3. By fleshing the SHARED_POOL_SIZE, you have to see the source of the problem.
  4. If the large pool is out of memory then you can also increase the INIT.ORG

This problem occurs when allocating a large piece of memory, in this case ORCAL flushes all such objects that are not in use and frees the memory chunks. If the memory that is now going to allocate is not enough then this will create this error.

I hope the given options will solve this problem.

Answered By 0 points N/A #121778

Oracle 11g Error issue help


Dear Shred, ORA-04031 error occurred when your System Global Are which is called SGA been defragmented. Possible solution for this is to flush your shared pool and then restart your oracle instance. For flushing shared pool you need to write command with DBA rights i.e.

SQL >  alter system flush shared_pool; 

After flushing your shared memory allocated in SGA will be empty and required memory will be allocated from shared pool. If you are executing some SQL without binding variables then you might have shared fragmentation problem. If all the above mentioned solutions get in vain, then you should modify your initialization parameter file with bigger Shared_pool_size value and again restart your Database using this p-file. 

Login/Register to Answer

Related Questions