sql >> Databáze >  >> RDS >> Oracle

ORA-04068:stávající stav balíčků byl zahozen ORA-04065:nebyla provedena, změněna nebo zrušena uložená procedura

Relace, kde je balíček aktuálně volán, zachovává tento stav balíčku. Pokud balíček znovu zkompilujete, pak ve chvíli, kdy je balíček znovu zavolán v této relaci, dojde k této chybě.

  1. Můžete spustit DBMS_SESSION.RESET_PACKAGE; k uvolnění paměti, kurzorů a proměnných balíčku po volání PL/SQL, které způsobilo dokončení spuštění.

  2. Můžete zavřít všechny existující relace a znovu spustit.

  3. Můžete vytvořit balíček, SÉRIÁLNĚ_OPAKOVANĚ POUŽITELNÉ balíčky pomocí PRAGMA SERIALLY_REUSABLE; tvrzení. Pokud je balíček SERIALLY_REUSABLE , stav jeho balíčku je uložen v pracovní oblasti v malém fondu v systémové globální oblasti (SGA). Stav balíčku přetrvává pouze po dobu trvání volání serveru.




  1. Jak MapReduce funguje v Hadoopu

  2. MySQL Počet a součet na základě podmínky

  3. Jak SIGN() funguje v MariaDB

  4. Doplňte řetězec úvodními nulami, aby měl v SQL Server 2008 3 znaky