Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> JDBC insert query to Oracle sometimes hangs

JDBC insert query to Oracle sometimes hangs

From: Anton Mironenko <sisian_at_mail.ru>
Date: 21 May 2004 08:21:21 -0700
Message-ID: <400764f3.0405210721.169ca1b0@posting.google.com>


There is a thread which performs multiple inserts into one table. Sometimes this thread hangs, and hangs forever on preparedStatement.executeBatch():

Thread dump shows the following:

"SdrWriterThread-0" prio=1 tid=0x60fa7e78 nid=0x100b runnable [6ccd1000..6ccd18e8]

        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at oracle.net.ns.Packet.receive(Unknown Source)
        at oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
        at oracle.net.ns.NetInputStream.read(Unknown Source)
        at oracle.net.ns.NetInputStream.read(Unknown Source)
        at oracle.net.ns.NetInputStream.read(Unknown Source)
        at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:718)
        at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:690)
        at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:373)
        at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
        at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822)

- locked <0x48cc1520> (a oracle.jdbc.ttc7.TTC7Protocol)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1446) at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371) at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:2883)
- locked <0x491e8db0> (a

oracle.jdbc.driver.OraclePreparedStatement)

select from v$session and v$locked_object shows that this session is ACTIVE and object corresponding inserted table is locked.

Attempt to kill this session using ALTER SYSTEM KILL SESSION doesn't help, this query cause only "ORA-00031: session marked for kill", but thread is still in read from socket state.

It happens in JDK 1.4.2_02, Oracle 8.1.7 and Oracle 9.2.0 Received on Fri May 21 2004 - 10:21:21 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US