2009-11-04 16 views
5

Los bloques llamada JDBC y no vuelve la espalda .. a continuación es el seguimiento de la pilaJdbc llamada a Oracle 11.1.0.7.0 db bloqueado

servidor Oracle = Oracle 11.1.0.7 controlador fino utilizado @ cliente

agradecería su ayuda ....

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) 
+0

¿Qué versión del controlador JDBC? ¿Qué plataforma de sistema operativo? ¿Esto sucede todo el tiempo o solo de forma intermitente? – APC

Respuesta

2

puede haber algunas razones:

  1. esta entrega El anuncio está bloqueado en DB y espera la confirmación de otro thread (o rollback)
  2. Este puede ser el problema del firewall. El cortafuegos puede manejar conexiones obsoletas inapropiadas. Se puede ver más información aquí: http://forums.oracle.com/forums/thread.jspa?messageID=4354229
+0

Tenemos el mismo problema a pesar de que tenemos setQueryTimeout para PrepareStatement. Sin embargo, no estamos llamando al procedimiento almacenado, sino a la actualización de una fila. Nuestra versión del controlador jdbc es jdbc-11.1.0.7.0.jar – James

1

Si está ejecutando un procedimiento almacenado, es al parecer un error de controlador JDBC delgada.

Actualice su controlador JDBC a 11.0.2.2. Se supone que debe solucionar el problema getNextPacket:

Oracle JDBC Drivers release 11.2.0.2 Readme.txt 
=============================================== 
Note: this readme is specific to fixes in 11.2.0.2 patch-set; see 
the master readme of the 11.2 release at http://download.oracle.com/otn/utilities_drivers/jdbc/112/Readme.txt 

Bug#  Description 
=======   =========================================================================================== 
2935043  SQLException Invalid conversion error when binding short JDBC type to Oracle number column 
5071698  PropertyCheckInterval of zero causes high CPU 
6748410  registerOutParameter does not perform well in JDBC Thin 
7208615  NUMBER column shows as precision 22 in JDBC 
7281435  ORA-30006 during xa_commit cause XAER_RMERR in JDBC 
8588311  PreparedStatement.setBinaryStream() does not read all the data from the stream 
8592559  JDBC Thin cannot fetch PlsqlIndexByTable with more than 32k items 
8617180  ORA-1458 error with large batch sizes using JDBC OCI driver 
8832811  Non ASCII characters inserted into US7ASCII DB using JDBC Thin 
8834344  Binding date of the Julian calendar throws IllegalArgumentException 
8873676  JDBC This throws SqlException while reading invalid characters 
8874882  ORA-22922 reusing large string bind for a LOB in JDBC 
8889839  XA_RMERR being thrown on the recover(TMNOFLAGS) call from JDBC 
8891187  JDBC does not close the connection after a fatal error 
8980899  JDBC Thin new property enableDataInLocator for LOB data 
8980918  JDBC Thin should use "data in locator" feature to save round-trips for small Lobs 
8982104  Add JDBC support for SQLXML 
9045206  11.2 JDBC driver returns zero rows with REF CURSOR OUT parameter 
9099863  ps.setbytes on BLOB columns in batch does not inherit value to following lines 
9105438  ORA-22275 during ps.executeBatch with LOBs 
9121586  ORA-22925 getting large LOB via JDBC Thin 11.2 
9139227  Wrong error code on JDBC connection failure 
9147506  Named parameter in callable statement not working from JDBC 
9180882  JDBC Statement.Execute does not handle comments as first elements for INSERT 
9197956  JDBC Data Change Notification fails with IllegalArgumentException 
9240210  Silent truncation reading 4gb BLOB with JDBC Thin 11.2 
9259830  DatabaseChangeNotification fails to clean up 
9260568  isValidObjectName() rejects valid object names 
9341542  getmetadata().getindexinfo fails with quoted table names (ORA-947) 
9341742  setBinaryStream causes dump/ORA-24804 if an unread stream is bound to a DML 
9374132  Territory is allowed to be NULL resulting in ORA-12705 
9394224  Poor performance for batch PreparedStatement execute with XMLType or objects. 
9445675  "No more data"/ORA-3137 using end to end metrics with JDBC Thin 
9468517  JDBC OCI and OCI do not behave the same on TAF failover 
9491385  Memory not released using registerIndexTableOutParameter in JDBC Thin 
9491954  RuntimeException "Assertion botch: negative time" from Timestamp bind 
9660015  JDBC Thin hangs by waiting getnextpacket when calling stored procedure 
9767715  TIMESTAMPTZ stringvalue truncates leading zeros in decimal part 
9786503  Cannot use OS authentication with OracleXADataSource 

Echa un vistazo al error # 9660015.

Espero que ayude.

-1

Podría ser el problema del Firewall, ¿intentó verificar, si las conexiones estaban activas en DB, o DB envió los datos de ping 10Byte a estas conexiones específicas y estaba bien? Si JDBC puede crear PreparedStatement desde Connections, significa que Connections estuvo bien desde la perspectiva del cliente, sin embargo, ¿qué hay entre DB y Client? Firewall? enrutador? verifica su configuración

Cuestiones relacionadas