🛠️ После deploy package VALID, но старые sessions получили ORA-04068

Причина может быть в stateful PL/SQL package. У каждой DB session — своя package instantiation и свой runtime state. Сценарий: session вызвала package → появился package state → package body recompiled / instance invalidated → session снова вызывает package → old state discarded → ORA-04068 После этого package может re-instantiate, но прежнее state уже потеряно. Поэтому: STATUS = VALID не означает, что long-lived sessions сохранили прежнее состояние. И механический: retry не универсально безопасен. Сначала выясните: — что хранилось в package state; — какие sessions были открыты до deploy; — что делает initialization; — как connection pool обрабатывает ошибку; — имеет ли потерянное state бизнес-смысл; — можно ли безопасно повторить операцию. Характерная картина: новые connections работают старые pooled sessions ловят ORA-04068 не противоречит тому, что сам package уже VALID. Практический вывод: object validity ≠ session state continuity Сохраните этот сценарий для change review систем, где PL/SQL packages хранят session state.

🔹🔹🔹🔹

🛠️ После deploy package VALID, но старые sessions получили ORA-04068
Причина может быть в stateful PL/SQL package.
У каждой DB session — своя package instantiation и свой runtime state | Сетка — социальная сеть от hh.ru