Sessionen där paketet för närvarande anropas, det behåller det tillståndet för paketet. Om du kompilerar om paketet kommer du att träffa det här felet i samma ögonblick som paketet anropas i den sessionen igen.
-
Du kan köra DBMS_SESSION.RESET_PACKAGE; för att frigöra minnet, markörerna och paketvariablerna efter PL/SQL-anropet som gjorde att anropet slutade köras.
-
Du kan stänga alla befintliga sessioner och köra igen.
-
Du kan göra paketet, SERIALLY_REUSBLE Packages genom att använda
PRAGMA SERIALLY_REUSABLE;
påstående. Om ett paket ärSERIALLY_REUSABLE
, dess pakettillstånd lagras i ett arbetsområde i en liten pool i systemets globala område (SGA). Pakettillståndet kvarstår endast under ett serveranrops livstid.