Oracle
 sql >> Database >  >> RDS >> Oracle

ORA-04068:lo stato esistente dei pacchetti è stato eliminato ORA-04065:stored procedure non eseguita, alterata o eliminata

La sessione in cui il pacchetto è attualmente chiamato, mantiene quello stato del pacchetto. Se ricompili il pacchetto, nel momento in cui il pacchetto viene richiamato di nuovo in quella sessione, visualizzerai questo errore.

  1. Puoi eseguire DBMS_SESSION.RESET_PACKAGE; per liberare la memoria, i cursori e le variabili del pacchetto al termine della chiamata PL/SQL che ha eseguito la chiamata.

  2. Puoi chiudere tutte le sessioni esistenti e rieseguirle.

  3. Potresti creare il pacchetto, Pacchetti SERIALLY_REUSABLE utilizzando PRAGMA SERIALLY_REUSABLE; dichiarazione. Se un pacchetto è SERIALLY_REUSABLE , lo stato del pacchetto viene archiviato in un'area di lavoro in un piccolo pool nell'area globale del sistema (SGA). Lo stato del pacchetto persiste solo per la durata di una chiamata al server.