我正在运行一个用 Oracle PL/SQL 编码的银行程序。该程序每天运行 2-3 小时,作为日终处理的一部分。
直到昨天,它运行良好。今天,当我今天运行它时,大约 30 分钟后,程序终止并显示错误 ORA-01013: user requested cancel of current operation
.我没有手动终止程序。
我觉得这可能是 weblogic(部署应用程序的地方)设置问题。我不精通 weblogic,不确定可以更改什么参数来阻止此错误。请帮忙!!!
甲骨文版本:11.2.0.3
Oracle 网络逻辑服务器:11g
最佳答案
这听起来像是 JDBC 超时。从 WebLogic 控制台转到“服务”->“数据源”,然后单击数据源的名称以查看其设置。单击连接池选项卡,然后展开页面底部的高级部分。寻找 Statement Timeout setting .
来自 the documentation :
When Statement Timeout is set to -1, (the default) statements do not timeout.
您看到的行为表明,如果 30 分钟后超时,则超时设置为 1800。
但是,这不会自行改变,如果它已经设置,那么它之前会被忽略,这需要进行一些调查 - 还有什么改变了吗?
另一种可能性是您的代码在 3-4 小时内进行了多次调用,其中一个现在自己超过了超时,如果超时低于 1800,则可能是这种情况。没有看到您的代码或当前超时值我只是猜测,显然。
关于oracle - ORA-01013 - Weblogic 设置错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17238595/