Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

SQL3011C, There is not enough storage to process the command

Status
Not open for further replies.

Spartacus999

Programmer
Mar 30, 2001
14
CA
Hi,

I always been able to make a db2 load command for more than 600 lines and since three days. My script with the load command doesn't work anymore.

I get the following error:

SQL3011C, There is not enough storage to process the command.

Does someone could help me?
 
SQL3011C There is not enough storage to process the command.
Explanation:
A memory allocation error occurred. Not enough memory is available to process the command, or there was an error freeing storage.
The command cannot be processed.

User Response:
Stop the application. Possible solutions include:
Verify that your system has sufficient real and virtual memory.
Remove background processes.
Increase the util_heap_sz for the database.
Decrease the size of buffers to use for the LOAD.
The util_heap_sz is shared by the LOAD, BACKUP and RESTORE utilities, so have fewer concurrent instances of these utilities running.
 
Our util_heap_sz is already increased.

And it seems that we have enough of real and virtual memory.

Maybe I could decrease the size of buffers to use for the load but could you tell me how?
 
Maybe there are other utilities that are running at the same time you are doing your loads.
You can check what other utilities are running using:
list utilities show detail
The easier option is to increase the util_heap_sz.
[Maybe you can increase util_heap_sz some more temporarily during the load and change it back to what it was immediately after the load. Is this production environment?]

Detailed explanation:
The DATA BUFFER is allocated directly from the utility heap. If a value is not specified, an intelligent default is calculated by the utility at run time.The default is based on a percentage of the free space available in the utility heap at the instantiation time of the loader, as well as some characteristics of the table.

So, it would take some trial and error to find out how many buffers to use.
 
I have used the Memory vizualizer tool and my util_heap_sz (19,7 mb) never ran at more than 0.08%.

I have the reason to think that raised its size won't change anything.

You must know that we are on a Production system and I can't do this change at anytime.
 
well, I remember I read something that the same error message can occur when running your instance with tiny bufferpools.
In that case you did not have enough storage during startup for all bufferpools - then only tiny bufferpools will be allocated and this might not be enough to process the little bit of control information during load.
well you can check that, your diaglog should have an entry saying 'tiny bufferpools' or something like that after startup.

it is just a guess, unfortunately I think that should not be the case on a production system ...

Juliane
 
Spartacus,

good advice so far. IF they don't sort you out and you're using STATISTICS YES, remove the STATISTICS YES part. There is a known problem on db2 8.1 with this on AIX, don't know if thats your platform?

Greg
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top