4

我正在运行一个用 Oracle PL/SQL 编码的银行程序。作为日终处理的一部分,该程序每天运行 2-3 小时。

直到昨天,它工作正常。今天当我今天运行它时,大约 30 分钟后,程序以错误终止ORA-01013: user requested cancel of current operation。我没有手动终止程序。

我觉得这可能是一个 weblogic(应用程序部署的地方)设置问题。我对 weblogic 不太熟悉,也不确定可以更改哪些参数来阻止此错误。请帮忙!!!

Oracle 版本:11.2.0.3
Oracle weblogic 服务器:11g

4

1 回答 1

6

这听起来像是 JDBC 超时。从 WebLogic 控制台转到 Services->Data Sources 并单击数据源的名称以查看其设置。单击连接池选项卡,然后展开页面底部的高级部分。查找语句超时设置

文档中

当 Statement Timeout 设置为 -1 时,(默认)语句不会超时。

您看到的行为表明如果在 30 分钟后超时,则超时设置为 1800。

但是,这不会自行改变,如果它已经设置,那么它之前会被忽略,这需要一些调查 - 还有什么改变吗?

另一种可能性是您的代码在 3-4 小时窗口内进行了多次调用,其中一个现在自行超过超时,如果超时低于 1800 可能就是这种情况。没有看到您的代码或当前显然,我只是在猜测超时值。

于 2013-06-21T16:37:22.620 回答