dbaXchange.com


Database Resources
- RDBMS Server
-
Database Administration
-
Performance Tuning
-
Backup and Recovery
-
Oracle Utilities

-
SQL and PLSQL
-
Network Administration
-
Client Applications
-
Miscellaneous Stuff

Oracle's technology Sites

http://technet.oracle.com

http://metalink.oracle.com

http://asktom.oracle.com/

http://www.oramag.com


Search this site or the web


Site search Web search powered by FreeFind



 

Category     : Database Resources -> Database Administration -> Troubleshooting & Solutions

DB Version  : Oracle 8i / Oracle 9i

OS Details    : Sun Solaris9

Encountered this error before ?

ORA-04031: unable to allocate 16084 bytes of shared memory ("largepool","unknown object","large pool hea","PX msg po")

The above error is usually raised by parallel query processes when they cannot find adequate space for message pool allocations in the large pool.

Troubleshooting tips:

(1) Guesstimate the large pool memory required for the Parallel query message pool allocations by doing this:

-- This should return 4096 if parallel_automatic_tuning is TRUE
SQL> show parameter parallel_execution_message_size

-- Make sure your instance wasn't restarted recently
SQL> SELECT statistic,value FROM V$PX_PROCESS_SYSSTAT WHERE STATISTIC LIKE 'Buffers%';

Look the the value returned for the statistic Buffers HWM. This gives the maximum number of concurrently allocated message buffers. The (Buffers HWM value * parallel_execution_message_size) should give you an approximate (its only an approximation and not the actual value) idea on how much large pool memory might be needed just for the message pool allocations. Use this as part of your approximation for the large pool allocations.

(2) Since the memory for the parallel query message pool's being allocated within the large pool as the error message suggests, your instance might have the parallel_automatic_tuning parameter set to true. If it is then make sure the parallel_max_servers parameter is not set manually but instead allow oracle to determine the default value.

(3) You can maybe try and reduce the number of parallel processes allocated to the table creation process by reducing the value for the "parallel" degree settings within the CREATE TABLE clause.