<< "ORA-04031: unable to allocate NNNNN bytes of shared memory ("large pool","unknown object","large pool hea","PX msg pool")"
>>
Now we are getting somewhere. That piece of information should have been in the original post. The cure for that is to increase the shared_pool_size definition in the init.ora and restart the database.
The amount to up it is usually about 4-5 times the amount it can't allocate if it is above 10k bytes, or about 30-40,000 if the amount is below 10k, that it can't allocate.
As more and more users, and applications start to use the database, you will have to up this parameter on a semi routine basis.
For a comparison here on a database on a unix server, the shared_pool_size started out at 10,000, and has grown from that up to 75,000,000 for it's current value. It changes about 20-30,000 at a time as our users and applications changed requiring more resources.