Oracle Database / SQL & PL/SQL Errors
ORA-04068: understand discarded package state after deployment
A session holding package state can fail after a package is recompiled or invalidated. Connection pools may keep such sessions alive across a release.
Environment and inputs: Oracle Database 19c baseline · SQL*Plus-compatible SQL unless RMAN, DGMGRL, ADRCI or a host shell is specified. Check release, patch level, edition and container first.
Start with this diagnostic
Use the stated SQL, RMAN, DGMGRL or host shell and replace sample names with approved targets. DBA and V$ views need authorized catalog access in the correct container. Do not grant broad privileges for an example.
SELECT owner, object_name, object_type, status, last_ddl_time FROM all_objects WHERE owner = 'APP_OWNER' AND object_name = 'APP_ORDER_API';
Read the result
Recent DDL on the package or body can help explain the timing. It does not prove every session will encounter the same state transition.
Resolve and verify
Correlate deployments and design a controlled pool recycle or application retry at a safe transaction boundary. Review whether package state is necessary.
Operational precautions
Do not blindly retry a business transaction whose commit outcome is unknown.