DBAtlas · Атлас эксплуатации баз данных

ORA-04068: Существующее состояние пакетов было сброшено

Oracle

Что это значит?

Пока выполняющаяся сессия использовала состояние пакета, пакет был перекомпилирован, и это состояние стало недействительным. Экземпляр пакета, удерживаемый сессией, больше не действителен.

Почему возникает?

Тело или спецификация пакета перекомпилированы через ALTER/CREATE OR REPLACE, пока зависящие от них сессии были активны; обычно происходит при развёртывании приложения на работающей системе. Наблюдается вместе с ORA-04061/04065.

Как исправить

Повторный вызов (retry) обычно решает проблему; при второй попытке пакет загружается в новом виде. Перехватывайте ORA-04068 в приложении и автоматически повторяйте вызов. Применяйте изменения пакетов в окна обслуживания с низкой активностью пользователей. Проектирование пакетов без состояния снижает остроту проблемы.

Открыть в DBAtlas →

Ещё по этой СУБД