代码之家  ›  专栏  ›  技术社区  ›  Andrey Adamovich

Oracle连接/查询超时

  •  3
  • Andrey Adamovich  · 技术社区  · 16 年前

    是否可以为Oracle数据库查询指定连接/查询超时?是在Oracle端还是在Oracle的JDBC驱动程序(10.2.0.4)中?那么,Java客户机在2分钟后才返回错误,而不是等到Oracle完成查询?

    3 回复  |  直到 16 年前
        1
  •  7
  •   Vineet Reynolds    16 年前

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

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

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

        2
  •  4
  •   Rene    16 年前

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

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

        3
  •  1
  •   Srini Karthikeyan    7 年前

    http://www.javamonamour.org/2012/09/oraclenetconnecttimeout.html

    jdbc版本的oracle.net.READ_超时<10.1.0.5 jdbc版本的oracle.jdbc.ReadTimeout>=10.1.0.5

        4
  •  0
  •   Vaibhaw K    6 年前

    spring.datasource.hikari.connection-timeout=1000
    spring.datasource.hikari.dataSourceProperties=oracle.jdbc.ReadTimeout=2000
    

    注: video

    推荐文章