Sesja, w której pakiet jest aktualnie wywoływany, zachowuje ten stan pakietu. Jeśli ponownie skompilujesz pakiet, to w momencie ponownego wywołania pakietu w tej sesji pojawi się ten błąd.
-
Możesz wykonać DBMS_SESSION.RESET_PACKAGE; aby zwolnić pamięć, kursory i zmienne pakietów po wywołaniu PL/SQL, które spowodowało zakończenie wywołania.
-
Możesz zamknąć wszystkie istniejące sesje i ponownie wykonać.
-
Możesz utworzyć pakiet Pakiety SERIALLY_REUSABLE za pomocą
PRAGMA SERIALLY_REUSABLE;
oświadczenie. Jeśli pakiet toSERIALLY_REUSABLE
, jego stan pakietu jest przechowywany w obszarze roboczym w małej puli w obszarze globalnym systemu (SGA). Stan pakietu utrzymuje się tylko przez czas trwania wywołania serwera.