Taj*_*der 9 oracle plsql oracle11g
当我试图在程序" PROCEDURE_NAME"下执行程序" " 时,我得到以下错误CALLING_PROCEDURE_NAME.但我的PROCEDURE_NAME已处于有效状态并成功使用其他一些程序.
ORA-04068: existing state of packages has been discarded
ORA-04065: not executed, altered or dropped stored procedure ""PROCEDURE_NAME""
ORA-06508: PL/SQL: could not find program unit being called: ""PROCEDURE_NAME""
ORA-06512: at ""CALLING_PROCEDURE_NAME"", line LINE_NO
ORA-06512: at line 1
Run Code Online (Sandbox Code Playgroud)
Lal*_*r B 12
但我的PROCEDURE_NAME已处于有效状态并成功使用其他一些程序.
当前调用包的会话,它保留包的状态.如果重新编译包,那么在该会话中再次调用包时,您将遇到此错误.
您可以执行DBMS_SESSION.RESET_PACKAGE; 在调用完成的PL/SQL调用之后释放内存,游标和包变量.
您可以关闭所有现有会话并重新执行.
您可以使用语句生成包SERIALLY_REUSABLE包PRAGMA SERIALLY_REUSABLE;.如果是包SERIALLY_REUSABLE,则其包状态存储在系统全局区域(SGA)中的小池中的工作区中.程序包状态仅在服务器调用的生命周期内持续存在.
| 归档时间: |
|
| 查看次数: |
28190 次 |
| 最近记录: |