Quindi ho eseguito correttamente una procedura PLSQL e la compilazione senza errori. Ho fatto una modifica alla mia procedura, e si compila ancora bene, ma adesso quando l'eseguo, ottengo questo errore:Lo stato esistente dei pacchetti è stato scartato
ERROR at line 1:
ORA-04068: existing state of packages has been discarded
ORA-04061: existing state of package body "SCHEMA.XP_COVER_PAGEP" has been invalidated
ORA-04065: not executed, altered or dropped package body "SCHEMA.XP_COVER_PAGEP"
ORA-06508: PL/SQL: could not find program unit being called: "SCHEMA.XP_COVER_PAGEP"
ORA-06512: at "SCHEMA.XP_ST_002180", line 141
ORA-06512: at line 1
Delle idee che cosa questo potrebbe essere? Il cambiamento che ho fatto è stato così insignificante che dubito che possa aver causato questo errore. Grazie in anticipo per il vostro aiuto!
Grazie darreljnz, la soluzione ha funzionato bene per me. Ma all'inizio non ho capito cosa stavi dicendo. Quindi, chiarirò un po 'la tua soluzione per gli altri. Aprire una nuova finestra di test in pl/sql e incollare "Begin sys.dbms_session.reset_package; end;" e premi F9 per eseguirlo e poi apporta le modifiche al tuo pacchetto o ricompilare il pacchetto e ora non riceveremo errori nelle nostre applicazioni –
Inizio migliore di una risposta per questo problema. Sarebbe bello vedere questo portato un po 'oltre per spiegare il problema principale e perché si verifica l'errore. –
@YogeshJindal sembra che tu stia dicendo qualcosa di diverso da darrelinjz. Ha scritto che è necessario eseguire RESET_PACKAGE, in ogni sessione, dopo il cambio di pacchetto per evitare l'errore. – pauloya