Oracle
 sql >> Base de données >  >> RDS >> Oracle

ORA-04068 :l'état existant des packages a été supprimé ORA-04065 :procédure stockée non exécutée, modifiée ou abandonnée

La session où le package est actuellement appelé conserve cet état du package. Si vous recompilez le package, au moment où le package est à nouveau appelé dans cette session, vous rencontrerez cette erreur.

  1. Vous pouvez exécuter DBMS_SESSION.RESET_PACKAGE ; pour libérer la mémoire, les curseurs et les variables de package après l'exécution de l'appel PL/SQL qui a rendu l'invocation terminée.

  2. Vous pouvez fermer toutes les sessions existantes et ré-exécuter.

  3. Vous pouvez créer le package, Packages SERIALLY_REUSABLE en utilisant PRAGMA SERIALLY_REUSABLE; déclaration. Si un paquet est SERIALLY_REUSABLE , son état de package est stocké dans une zone de travail d'un petit pool de la zone globale du système (SGA). L'état du package ne persiste que pendant la durée de vie d'un appel au serveur.