Пакетът има публични или частни променливи. (Нали?) Тези променливи формират състоянието на пакета. Ако компилирате пакета в 3-та сесия. Следващият достъп до този пакет ще хвърли ORA-04068.
Времето на компилация на пакет трябва да е по-старо от състоянието на сесията на пакета.
Ако състоянието на пакета не е необходимо за изпълнение на скрипта, извикването DBMS_SESSION.RESET_PACKAGE
в началото на вашия скрипт. Това изчиства всички състояния на пакета от вашата сесия.