У меня есть скрипт, который использует пакет (PKG_MY_PACKAGE). Я изменю некоторые поля в запросе в этом пакете, а затем перекомпилирую его (я не изменяю и не компилирую другие пакеты). Я запускаю скрипт и получаю ошибку, которая выглядит как
ORA-04068: existing state of packages has been discarded
ORA-04061: existing state of package body "USER3.PKG_MY_PACKAGE" has been invalidated
ORA-04065: not executed, altered or dropped package body "USER3.PKG_MY_PACKAGE"
ORA-06508: PL/SQL: could not find program unit being called: "USER3.PKG_MY_PACKAGE"
ORA-06512: at line 34
Я снова запускаю сценарий (не изменяя ничего в системе), и сценарий выполняется успешно.
Я думал, что когда я скомпилировал, я выполнил сценарий, который исправил бы любые недействительные ссылки. Это на 100% воспроизводимо, и чем больше я использую этот скрипт, тем больше он раздражает. Что может вызвать это, и что бы это исправить?
(oracle 10g, с использованием PL / SQL Developer 7)