Oracle连接/查询超时

And*_*ich 5 java oracle timeout jdbc

是否可以为Oracle数据库查询指定连接/查询超时?在Oracle端还是在Oracle的JDBC驱动程序(10.2.0.4)中?那么,那个Java客户端刚刚收到错误,比方说,2分钟而不是等到Oracle完成执行查询之后?

Vin*_*lds 6

如果在事务上下文中执行查询,则JTA事务监视器的事务超时值将是查询超时的决定因素.这种配置取决于一个应用服务器到另一个应用服务器.

在单个查询级别(在没有JTA事务监视器的情况下),setQueryTimeout方法可用于设置Statement/PreparedStatement/CallableStatement对象的执行超时.

更新

不应依赖setQueryTimeout,尽管它可以工作(至少来自J2SE客户端).它通过JDBC驱动程序执行Oracle数据库服务器的完整往返.然后,数据库停止执行查询.不要依赖它来进行时间关键的应用.


Ren*_*ene 5

查看 Oracle 简介。这允许您在数据库级别指定多个限制。其中之一是每个查询的最大 CPU 时间。

如果您的查询定期运行时间超过 2 分钟,您可能需要首先对查询进行一些调整。