Stiamo ottenendo questo errore una volta al giorno su uno script che viene eseguito ogni due ore, ma in diversi momenti della giornata.errore frequente in Oracle ORA-04068: esistenti stato di pacchetti è stata scartata
ERROR at line 1:
ORA-04068: existing state of packages has been discarded
ORA-04061: existing state of package body "PACKAGE.NAME" has been
invalidated
ORA-06508: PL/SQL: could not find program unit being called:
"PACKAGE.NAME"
ORA-06512: at line 1
Qualcuno potrebbe elencare quali condizioni possono causare questo errore in modo da poter indagare?
Grazie.
AGGIORNAMENTO: L'esecuzione di 'ALTER SESSION CLOSE DATABASE LINK DBLINK'
invaliderebbe uno stato del pacchetto?
Proprio come un'ulteriore informazione, la compilazione del corpo del pacchetto non rende "invalidi" i pacchetti di chiamata, ovvero il dizionario dei dati mostra ancora tutti i pacchetti e gli attivatori e qualsiasi cosa come "VALID". La cosa che non funziona è il PGA di ciascun utente. Quindi, se ci sono dieci utenti che usano il pacchetto mentre è ricompilato, ognuno colpirà questo problema a sua volta la volta successiva che fanno riferimento a quel pacchetto. –