ORA-04068: existing state of packages has been discarded (l'état existant des packages a été supprimé)
OracleQue signifie cette erreur ?
Alors qu'une session en cours utilisait l'état d'un package, le package a été recompilé ; cet état a donc été invalidé. L'instance du package détenue par la session n'est plus valide.
Cause
Un corps ou une spécification de package a été recompilé avec ALTER/CREATE OR REPLACE alors que des sessions qui en dépendent étaient actives ; cela se produit généralement lors d'un déploiement applicatif sur un système en production. S'observe avec ORA-04061/04065.
Comment la corriger
Réexécuter l'appel (relance) le résout généralement ; à la seconde tentative, le package se charge sous sa nouvelle forme. Interceptez ORA-04068 dans l'application et relancez automatiquement. Appliquez les modifications de packages pendant les fenêtres de maintenance où l'activité des utilisateurs est faible. Une conception de package sans état réduit ce problème.
Autres entrées pour ce moteur
- ORA-00979not a GROUP BY expression (n'est pas une expression GROUP BY)
- ORA-00918column ambiguously defined (colonne définie de façon ambiguë)
- ORA-06550line/column PLS-... PL/SQL compilation error (erreur de compilation PL/SQL)
- ORA-01427single-row subquery returns more than one row (une sous-requête mono-ligne renvoie plusieurs lignes)
- ORA-12899value too large for column (valeur trop grande pour la colonne)
- ORA-30926unable to get a stable set of rows in the source tables (impossible d'obtenir un ensemble stable de lignes dans les tables source)
- ORA-08103object no longer exists (l'objet n'existe plus)