ORA-12853, ORA-04031 and ORA-06512: at "SYS.UTL_RECOMP", line 865

This post is also available in: Português

Those days I created a really small 11.2.0.4 database in a very powerful Sun Sparc 64 processors server.

I've set up the database to use as memory_target the minimal possible: 524M. I planed to increase this size later after preparing the DB Server.

When I started enabling the Database Vault, I received the following error on the post install configurations (postDBConfigure.log):

DECLARE
*
ERROR at line 1:
ORA-12801: error signaled in parallel query server P245
ORA-12853: insufficient memory for PX buffers: current 138400K, max needed 887760K
ORA-04031: unable to allocate 65560 bytes of shared memory ("large pool","unknown object","large pool","PX msg pool")
ORA-06512: at "SYS.UTL_RECOMP", line 865
ORA-06512: at line 4

My alert.log had the following error: ORA-04031: unable to allocate 65560 bytes of shared memory ("large pool","unknown object","large pool","PX msg pool")

As it was a "PX" (parallelism) error, and my system has a lot of processors, the problem was that my default parallel_max_servers was 270! This number would be acceptable if I had enough free memory (specially pga) to accommodate all of them, but I didn't. My MEMORY_TARGET was the minimal.

So to resolve it, I had to change this parameter to a lower value:

ALTER SYSTEM SET parallel_max_servers=30 SCOPE=BOTH;

This solved my problem! =] .. I had to go back my database to the restore point created before the vault and than, after executing it again, everything worked!

Have you enjoyed? Please leave a comment or give a 👍!

Leave a Reply

Your email address will not be published.