Home » RDBMS Server » Server Administration » ora-04031:unable to allocate 16084 shared memory
ora-04031:unable to allocate 16084 shared memory [message #151107] Tue, 13 December 2005 03:47 Go to next message
prashanth_gs
Messages: 67
Registered: November 2005
Location: chennai
Member
Hi,
We are getting this error while creating table.

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

Please provide the solution to fix this issue.

Oracle Version: 8.1.7.0.0
OS : Window NT
Re: ora-04031:unable to allocate 16084 shared memory [message #151135 is a reply to message #151107] Tue, 13 December 2005 07:19 Go to previous messageGo to next message
vjeedigunta
Messages: 201
Registered: March 2005
Location: Hyderabad
Senior Member

execute the following query to determine why Oracle could not allocate the 16,084 bytes:

SELECT NAME, SUM(BYTES) 
FROM V$SGASTAT 
WHERE POOL='LARGE POOL' 
GROUP BY ROLLUP (NAME); 


Depending upon the result ..you will have to increase the LARGE_POOL_SIZE parameter ..

-Sai Jeedigunta



Re: ora-04031:unable to allocate 16084 shared memory [message #151239 is a reply to message #151107] Tue, 13 December 2005 22:31 Go to previous message
dbaxchangedba
Messages: 26
Registered: November 2005
Junior Member
A few things you can maybe try:

(1) Guesstimate the large pool memory required for the px 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.

Good luck!

http://www.dbaxchange.com
Previous Topic: maximum number of sessions
Next Topic: Downgrade Oracle 9.2.0.6 to 9.2.0.1 error (ORA-00600)
Goto Forum:
  


Current Time: Fri Sep 20 15:29:22 CDT 2024