"ORA-04068: état actuel de paquets ont été mis au rebut ORA-04065: pas exécuté, modifiés ou supprimés de la procédure stockée
je m arriver en dessous de message d'erreur quand j'essaie d'exécuter la procédure "PROCEDURE_NAME
" en vertu de la procédure "CALLING_PROCEDURE_NAME
".
Mais mon PROCEDURE_NAME est déjà en cours de validité, de l'état et, avec succès, dans d'autres procédures.
ORA-04068: existing state of packages has been discarded
ORA-04065: not executed, altered or dropped stored procedure ""PROCEDURE_NAME""
ORA-06508: PL/SQL: could not find program unit being called: ""PROCEDURE_NAME""
ORA-06512: at ""CALLING_PROCEDURE_NAME"", line LINE_NO
ORA-06512: at line 1
vous devez recompiler votre proc/paquet
non, dans ce cas, c'est parce que la session avait un paquet de l'état qui a été abandonné lorsque le paquet a été recompilé.
non, dans ce cas, c'est parce que la session avait un paquet de l'état qui a été abandonné lorsque le paquet a été recompilé.
OriginalL'auteur Tajinder | 2014-10-30
Vous devez vous connecter pour publier un commentaire.
De la séance où le paquet est actuellement appelé, il conserve cet état de l'emballage. Si vous recompilez le paquet, puis le moment où le colis est appelée lors de cette session, vous frappez cette erreur.
Vous pouvez exécuter DBMS_SESSION.RESET_PACKAGE; pour libérer de la mémoire, des curseurs et des variables de package après le PL/SQL d'appel qui a fait de l'invocation de la fin de l'exécution.
Vous pourriez fermer toutes les sessions existantes et de ré-exécuter.
Vous pouvez faire le paquet, SERIALLY_REUSABLE Paquets en utilisant
PRAGMA SERIALLY_REUSABLE;
déclaration. Si un paquet estSERIALLY_REUSABLE
, son paquet de l'état est stocké dans une zone de travail dans une petite piscine dans le système global de la zone (SGA). Le package de l'état persiste uniquement pour la durée de vie d'un serveur d'appel.OriginalL'auteur Lalit Kumar B