我正在运行一个以Oracle PL / SQL编码的银行业务程序。该程序每天运行2-3小时,作为日终处理的一部分。
直到昨天,工作正常。今天我今天运行它,大约30分钟后,程序终止并出现错误ORA-01013: user requested cancel of current operation
。我不是手动终止程序。
我觉得这可能是weblogic(部署应用程序)设置问题。我不熟悉weblogic并且不确定可以更改哪个参数来阻止此错误。请帮忙!!!
Oracle版本:11.2.0.3
Oracle weblogic服务器:11g
答案 0 :(得分:5)
这听起来像是JDBC超时。从WebLogic控制台转到“服务” - >“数据源”,然后单击数据源的名称以查看其设置。单击“连接池”选项卡,然后展开页面底部的“高级”部分。寻找Statement Timeout setting。
当Statement Timeout设置为-1时,(默认值)语句不会超时。
您所看到的行为表明如果超时在30分钟后超时,则设置为1800.
然而,这本身并没有改变,如果它已经设置,那么它之前被忽略了,这需要一些调查 - 还有其他改变了吗?
另一种可能性是你的代码在3-4小时窗口内进行多次调用,其中一个现在超过了超时,如果超时低于1800,可能就是这种情况。没有看到你的代码或者显然是我猜的当前超时值。