Jdbc调用oracle 11.1.0.7.0 db阻塞

5 oracle jdbc

Jdbc调用块并且不返回..下面是堆栈跟踪

Oracle server = 11.1.0.7 Oracle瘦驱动程序使用@ client

非常感谢你的帮助....

at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:140)
        at oracle.net.ns.Packet.receive(Packet.java:240)
        at oracle.net.ns.DataPacket.receive(DataPacket.java:92)
        at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:172)
        at oracle.net.ns.NetInputStream.read(NetInputStream.java:117)
        at oracle.net.ns.NetInputStream.read(NetInputStream.java:92)
        at oracle.net.ns.NetInputStream.read(NetInputStream.java:77)
        at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1034)
        at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1010)
        at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:588)
        at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
        at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:780)
        at oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:855)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186)
        at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1377)
 at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186)
        at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1377)
        at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:387)
        at oracle.jdbc.driver.OracleDatabaseMetaData.getTypeInfo(OracleDatabaseMetaData.java:670)
Run Code Online (Sandbox Code Playgroud)

小智 2

可能有以下几个原因:

  1. 该线程被锁定在数据库中并等待其他线程提交(或回滚)
  2. 这可能是防火墙问题。防火墙可能会不适当地处理过时的连接。您可以在此处查看更多信息:http://forums.oracle.com/forums/thread.jspa ?messageID=4354229