Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

ORA-04068:o estado existente dos pacotes foi descartado ORA-04065:procedimento armazenado não executado, alterado ou descartado


A sessão em que o pacote é chamado no momento mantém esse estado do pacote. Se você recompilar o pacote, no momento em que o pacote for chamado nessa sessão novamente, você receberá esse erro.

  1. Você pode executar DBMS_SESSION.RESET_PACKAGE; para liberar a memória, cursores e variáveis ​​de pacote após a chamada PL/SQL que fez a chamada terminar de ser executada.

  2. Você pode fechar todas as sessões existentes e executar novamente.

  3. Você pode fazer o pacote, Pacotes SERIALLY_REUSABLE usando PRAGMA SERIALLY_REUSABLE; declaração. Se um pacote for SERIALLY_REUSABLE , seu estado de pacote é armazenado em uma área de trabalho em um pequeno pool na área global do sistema (SGA). O estado do pacote persiste apenas durante a vida de uma chamada de servidor.