ORA-04031: Unable To Allocate 32 Bytes Of Shared Memory ("shared pool","select tablespace_id, rfno, ...","SQLA","tmp")
La SGA è frammentata vuol dire che il db non trova un’area di memoria contigua.
Da quanto tempo sta su il database
ps -ef | grep pmon
oracle 5307 1 0 2018 ? 00:00:25 ora_pmon_TEST01 --> attivo dal 2018 ma non si sa il mese
oracle 32301 1 0 Mar04 ? 00:50:09 ora_pmon_RILP11 --> attivo da aprile 2019
Workaround: riavviare il database.
Questo equivale ad effettuare anche un "Alter system flush shared_pool;"
Dopo questo flush o riavvio del db, tutte le istruzioni memorizzare nella Shared pool sono cancellate e quindi una sql statement, già eseguita precedentemente al flush, ora ci impiegherà più tempo rispetto all'ultima esecuzione perché l’istruzione non è più in memoria.
Da quanto tempo sta su il database
ps -ef | grep pmon
oracle 5307 1 0 2018 ? 00:00:25 ora_pmon_TEST01 --> attivo dal 2018 ma non si sa il mese
oracle 32301 1 0 Mar04 ? 00:50:09 ora_pmon_RILP11 --> attivo da aprile 2019
Workaround: riavviare il database.
Questo equivale ad effettuare anche un "Alter system flush shared_pool;"
Dopo questo flush o riavvio del db, tutte le istruzioni memorizzare nella Shared pool sono cancellate e quindi una sql statement, già eseguita precedentemente al flush, ora ci impiegherà più tempo rispetto all'ultima esecuzione perché l’istruzione non è più in memoria.