Unanswered: ORA-04031: unable to allocate 1000 bytes of shared memory ("large pool"
I am encountering the following error
ORA-04031: unable to allocate 100 bytes of shared memory ("large pool"
I am executing a procedure, that transfers data from one database to other after validating data. In this validation process it scans one xmltype column data through xml schema related packages ( dbms_xmldom etc.).
It transfers data for first 10 days and then it throws the error. If I reran the same procedure it shows again the error, but number of byes are changing.
This procedure runs smoothly on development environment but showing error on production environment.
I am using Oracle 10g on Sun os.
Can anybody help me out ? If shared pool is filled up, then is there any way to free that space without bouncing the database ?
Have a look at DOC ID 430473.1 on MetaLink. This note contains some high level discussion and a link to some scripts that will help diagnose the issue. Read the note carefully and test in a non-prodcution environment.
If the shared pool is out of memory, either use the dbms_shared_pool package to pin large packages, reduce your use of shared memory, or increase the amount of available shared memory by increasing the value of the INIT.ORA parameters "shared_pool_reserved_size" and "shared_pool_size". If the large pool is out of memory, increase the INIT.ORA parameter "large_pool_size".