[z/OS]

Sugerencias para el ajuste de JDBC para su uso con DB2

WebSphere Application Server utiliza la colocación en memoria caché de sentencias preparadas de JDBC como un dispositivo para mejorar el rendimiento. Si está utilizando este dispositivo junto con DB2 para z/OS, tenga en cuenta el impacto potencial en el número de objetos de objetos de cursor DB2 JDBC disponibles.

Efectos de la colocación en memoria caché de sentencias preparadas en los objetos de cursor JDBC de DB2 para OS/330

Cuando obtenga un objeto ResultSet al ejecutar un objeto PreparedStatement, un objeto de cursor DB2 JDBC se enlazará a él hasta que se cierre la sentencia preparada DB2 correspondiente. Esto ocurre cuando el objeto Connection de DB2 se libera de la agrupación de conexiones de WebSphere Application Server. Desde el punto de vista de la aplicación, el conjunto de resultados, la sentencia preparada y la conexión se cierran sucesivamente. Pero el objeto subyacente Connection de DB2 es añadido a la agrupación de conexiones por WebSphere Application Server, el objeto subyacente PreparedStatement de DB2 es puesto en memoria caché por el servidor de aplicaciones y cada objeto de cursor subyacente JDBC de DB2 asociado a cada objeto ResultSet creado en este objeto PreparedStatement no se ha liberado todavía.

Todos los objetos PreparedStatement de la memoria caché pueden tener uno o más conjuntos de resultados asociados con ellos. Si se abre un conjunto de resultados y no se cierra, aunque cierre la conexión, el conjunto de resultados todavía está asociado con la sentencia preparada de la memoria caché. Todos los conjuntos de resultados tienen un cursor JDBC exclusivo adjunto a éstos. Este cursor lo guarda la sentencia y no se libera hasta que se borre la sentencia preparada de la memoria caché de WebSphere Application Server.

Si hay más sentencias en memoria caché que cursores, finalmente la ejecución de un objeto PreparedStatement resultará en la siguiente excepción:
java.sql.SQLException: DB2SQLJJDBCProfile
Error: No more JDBC Cursors without hold

Algunas sugerencias de ajuste de WebSphere Application Server para evitar este problema son:

  1. Reduzca el valor tamaño de la memoria caché de la sentencia en la definición de origen de datos de DB2 para OS/390. Si establece este valor en cero (0) elimina la colocación en memoria caché de sentencias, pero tiene un considerable efecto en el rendimiento.
  2. Reduzca el valor de agrupación de conexiones minConnections en la definición de origen de datos de DB2 para OS/390.
  3. Reduzca el valor de agrupación de conexiones Tiempo de espera superado en la definición de origen de datos de DB2 para OS/390. No obstante, NO se recomienda que establezca este valor en cero (0), ya que esto inhabilita la función de Tiempo de espera superado.

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rprf_wastundb2
File name: rprf_wastundb2.html