Forum OpenACS Q&A: Re: Bizarre Oracle behavior - package problems

Posted by Janine Ohmer on
This, from a Metalink forum post, explains why the error goes away:

"Could you catch ORA-4068 error and repeat the code? I mean it is like this ...  you execute a procedure, if it is invalid, oracle will throw 4068. You check the error, if it matches 4068, re-execute the procedure, this will force a automatic recompilation and the execution will resume. "

But it does not explain why the package keeps on going invalid when no-one is changing anything...

ThE packages are invalidated when the user wants to make an attempt to the package specification in the same session. As the specification is compiled only once.. so when recompiling the same package spec..again in the same session..its state becomes invalid..

One Solution may be.. recompile the package using dynamic sql..