weblogic datasource ora-04068
I've done a lot of research and haven't been able to find a definite
answer on this. Basically the issue I have is the behavior I'm seeing with
weblogic jdbc datasources when we compile oracle packages.
Now the vast majority of time, I can do a hot compile of an oracle
package. On the first time after compiling and executing a stored
procedure, I'll see the
ora-04068 error: existing state of package has been discarded
error. That is expected behavior which refreshes the datasource and
everything works as it should after that first attempt. Periodically
though, when packages are compiled which have nested dependencies.
For instance: java code running in weblogic depends on package A. Package
A depends on Package B. Package B is compiled.
Now I know Oracle automatically compiles on first attempts to execute
invalid packages. But we have to many times manually compile the oracle
packages because of other clients that can't execute the invalid code,
thus Oracle never recompiles the package. This will frequently put the
datasource into a state where it permanently returns the ORA-04068 error.
The only way to fix this is to bounce the managed weblogic server. Trying
to manually stop the datasource or remove target and retarget the
datasource doesn't work.
Has anybody figured out a way to reliably do hot deploys of oracle code
and compile it manually while not having weblogic datasources going into
these recoverable states that require complete bounces of the managed
servers?
Some info: This is oracle 11g and weblogic 10.3.3.
No comments:
Post a Comment