我的现象是,用户的正式环境报错,如下:
ora-04068 :existing state of packages has been discarded
ora-04065: not excuted,altered or droped stored procedure   存储过程名
ora-06508:PL/SQL could not find program unit being called  存储过程名
ora-06512:at 存储过程名 ora-04068 exiting state of package has been discarded
大家都介绍一下自己遇到该情况时查看到的造成该情况的可能的操作过程。
我现在想重现这个操作 ,做了几个尝试都比较困难。 

解决方案 »

  1.   

    你重新编译的存储过程,然后你的应用立马去执行这个包里的内容的时候就可能发生。。
    使用
    SQL> execute DBMS_SESSION.MODIFY_PACKAGE_STATE(DBMS_SESSION.REINITIALIZE);PL/SQL procedure successfully completedSQL> 
      

  2.   


    重新编译存储过程,然后立即有应用执行的意思是否是说恰好他俩的动作是几乎在同一个时间点进行的? 
    我要怎样才能重现出这样的问题呢?
    execute DBMS_SESSION.MODIFY_PACKAGE_STATE(DBMS_SESSION.REINITIALIZE);
    这句话是什么意思呢? 是在pl/sql 下执行的么?我在pl/sql的command窗口里执行报错的。
      

  3.   

    没遇到过
    你看看这帖子对你有帮助没
    http://topic.csdn.net/u/20090609/11/A7BDB265-50FB-487A-B941-C4CB01EFB557.html