Oracle ORA-04068中的常见错误:软件包的现有状态已被丢弃 [英] Frequent error in Oracle ORA-04068: existing state of packages has been discarded
本文介绍了Oracle ORA-04068中的常见错误:软件包的现有状态已被丢弃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们每天一次在每两个小时运行一次的脚本中收到此错误,但是一天中的不同时间.
We're getting this error once a day on a script that runs every two hours, but at different times of the day.
ERROR at line 1:
ORA-04068: existing state of packages has been discarded
ORA-04061: existing state of package body "PACKAGE.NAME" has been
invalidated
ORA-06508: PL/SQL: could not find program unit being called:
"PACKAGE.NAME"
ORA-06512: at line 1
有人可以列出什么条件会导致此错误,以便我们进行调查?
Could someone list what conditions can cause this error so that we could investigate?
谢谢.
更新:
执行'ALTER SESSION CLOSE DATABASE LINK DBLINK'
是否会使程序包的状态无效?
UPDATE:
Would executing 'ALTER SESSION CLOSE DATABASE LINK DBLINK'
invalidate a state of the package?
推荐答案
此衬套实际上解决了所有问题:
This one liner actually solved everything:
PRAGMA SERIALLY_REUSABLE;
请确保您的全局变量是无状态的,以避免出现任何问题.
Be sure that your global variables are stateless to avoid any issues.
这篇关于Oracle ORA-04068中的常见错误:软件包的现有状态已被丢弃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文