ORA-04068: existing state of packages has been discarded (bestehender Package-Zustand wurde verworfen)
OracleWas bedeutet das?
Während eine laufende Session den Zustand eines Packages nutzte, wurde das Package neu kompiliert, sodass dieser Zustand ungültig wurde. Die von der Session gehaltene Package-Instanz ist nicht mehr gültig.
Ursache
Ein Package Body oder eine Spezifikation wurde mit ALTER/CREATE OR REPLACE neu kompiliert, während davon abhängige Sessions aktiv waren; tritt meist beim Deployment einer Anwendung auf einem Live-System auf. Zusammen mit ORA-04061/04065 zu sehen.
Lösung
Ein erneuter Aufruf (Retry) löst es meist; beim zweiten Versuch wird das Package in seiner neuen Form geladen. Fange ORA-04068 in der Anwendung ab und wiederhole automatisch. Spiele Package-Änderungen in Wartungsfenstern mit geringer Benutzeraktivität ein. Ein zustandsloses Package-Design verringert dieses Problem.
Weitere Einträge zu dieser Datenbank
- ORA-00979not a GROUP BY expression (kein GROUP-BY-Ausdruck)
- ORA-00918column ambiguously defined (Spalte mehrdeutig definiert)
- ORA-06550line/column PLS-... PL/SQL compilation error (PL/SQL-Kompilierfehler)
- ORA-01427single-row subquery returns more than one row (einzeilige Unterabfrage liefert mehr als eine Zeile)
- ORA-12899value too large for column (Wert zu groß für Spalte)
- ORA-30926unable to get a stable set of rows in the source tables (keine stabile Zeilenmenge in den Quelltabellen)
- ORA-08103object no longer exists (Objekt existiert nicht mehr)