DBAtlas · Atlas d'exploitation des bases de données

ORA-04068: existing state of packages has been discarded (l'état existant des packages a été supprimé)

Oracle

Que 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.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur