У меня есть script, который использует пакет (PKG_MY_PACKAGE). Я изменю некоторые поля в запросе в этом пакете, а затем перекомпилирую его (я не изменяю и не компилирую какие-либо другие пакеты). Я запускаю script и получаю сообщение об ошибке, которое выглядит как
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
Я снова запускаю script (не изменяя ничего в системе), и script выполняется успешно.
Я думал, что когда я скомпилировал, прежде чем я выполнил script, который исправит любые недопустимые ссылки. Это на 100% воспроизводимо, и чем больше я использую этот script, тем больше он раздражает. Что может вызвать это, и что это исправить?
(oracle 10g, используя PL/SQL Developer 7)