一个老问题: ora04068……遇到过的进来说说

cryspigger 2011-01-06 03:31:31
我的现象是,用户的正式环境报错,如下:
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


大家都介绍一下自己遇到该情况时查看到的造成该情况的可能的操作过程。
我现在想重现这个操作 ,做了几个尝试都比较困难。
...全文
163 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhwei1985 2011-03-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cryspigger 的回复:]
顶起来,希望高手关注
[/Quote].
minitoy 2011-03-01
  • 打赏
  • 举报
回复
cryspigger 2011-01-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 oraclefans_ 的回复:]
你重新编译的存储过程,然后你的应用立马去执行这个包里的内容的时候就可能发生。。
使用
SQL> execute DBMS_SESSION.MODIFY_PACKAGE_STATE(DBMS_SESSION.REINITIALIZE);

PL/SQL procedure successfully completed

SQL>
[/Quote]

重新编译存储过程,然后立即有应用执行的意思是否是说恰好他俩的动作是几乎在同一个时间点进行的?
我要怎样才能重现出这样的问题呢?


execute DBMS_SESSION.MODIFY_PACKAGE_STATE(DBMS_SESSION.REINITIALIZE);


这句话是什么意思呢? 是在pl/sql 下执行的么?我在pl/sql的command窗口里执行报错的。
YOULOVEXIA 2011-01-10
  • 打赏
  • 举报
回复
建议你去百度查查,也许会有你想要的答案
Oraclefans_ 2011-01-06
  • 打赏
  • 举报
回复
你重新编译的存储过程,然后你的应用立马去执行这个包里的内容的时候就可能发生。。
使用
SQL> execute DBMS_SESSION.MODIFY_PACKAGE_STATE(DBMS_SESSION.REINITIALIZE);

PL/SQL procedure successfully completed

SQL>

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧