sql >> Databasteknik >  >> RDS >> Oracle

ORA-04068:befintligt tillstånd för paket har kasserats ORA-04065:inte körd, ändrad eller släppt lagrad procedur

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.

  1. 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.

  2. Du kan stänga alla befintliga sessioner och köra igen.

  3. Du kan göra paketet, SERIALLY_REUSBLE Packages genom att använda PRAGMA SERIALLY_REUSABLE; påstående. Om ett paket är SERIALLY_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.




  1. SSMA för Oracle Anslut till Oracle-fel

  2. MySQL GROUP BY beteende

  3. PostgreSQL Where count condition

  4. jquery för att fylla flera nedrullningsbara listor från databasen