求包编译后出现ORA-04068的最佳解决方法
网上看了很多,不过好像都不能最终解决。 
大家有没有比较牛点的解决方法。有个问题,好像出现这个错误的时候,第一次调用包会出错,第二次调用就不会出现了。
如果是这样,是不是可以在调用包的时候写个异常,如果出现ora-04068错误,再运行一下上面的过程

解决方案 »

  1.   

    解决了
    1.把包里面的全局变量转移掉.
    2.如果是远程调动,因为本地捕捉不到远程的状态,所以当第一次远程的时候,系统捕捉到包状态为错误状态,于是抛出ora-04068错误.并将系统视图中相应过程的状态改成非法状态,下次运行时自动编译
    3.如果包中没有全局变量,在本地调用,系统会自动捕捉到包的状态,所以远行时会自动编译