I got an error message like below.
Failed to connect to database instance: ORA-04031: unable to allocate 32 bytes of shared memory ("shared pool","DATABASESYS","trigger inform","kglhin: temp").
I understand that this is because more shared memory is needed than was allocated in the shared pool.
Could someone please advise how to increase shared memory?
are you using bind variables?
You have got a bad case of shared pool fragmentation.
As a temporary workaround you can flush the shared pool, which would act like an aspirin.
For a more lasting solution you have to bounce the instance, which would act as antibiotic.
Vaccines are a little more complicated and involve proper SGA setup as well as good quality coding.
For how long has been that instance up-and-running?
Oracle version and O/S version?
Pablo (Paul) Berzukov
Author of Understanding Database Administration
available at amazon and other bookstores.
Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.
Click Here to Expand Forum to Full Width