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.

Post popolari in questo blog

Create e Drop Pluggable Database

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione