DB2 - Problem description
Problem IC79080 | Status: Closed |
WITH DATA_ENCRYPT, WHEN USING COMMUNICATION BUFFER GREATER THAN 32K, RUNNING A QUERY MAY FAIL AND RETURN SQL0902C. | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
When AUTHENTICATION on the database server is set to DATA_ENCRYPT, any data transferred between the server and the client is encrypted. It was found that, with DATA_ENCRYPT, if the communication buffer greater than 32K is used, DB2 LUW client sometimes fails to parse the query result, and returns SQL0902C. The size of the communication buffer is controlled by RQRIOBLK for remote clients and ASLHEAPSZ for local clients. Here's the error message that will appear in db2diag.log. ==== 2008-01-28-11.00.09.403732-360 I4408A699 LEVEL: Info PID : 21299528 TID : 1 PROC : db2bp INSTANCE: db2inst1 NODE : 000 APPID : *LOCAL.db2inst1.1234567890 FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReadDssContLen, probe:50 DATA #1 : String, 388 bytes CALL STACK: [0] 0x0900000000DD772C sqljrParseOpenSuccessReply__FP7 [1] 0x0900000000E5B3B4 sqljrParseOpenQueryReply__FP7UC [2] 0x0900000000E7BBD0 sqljrParse__FP7UCintfc + 0xFFFF [3] 0x0900000000F230A8 sqljrDrdaArOpen__FP7UCintfcP15d [4] 0x0900000000F73B38 csmOpen__FP7UCintfcP15db2UCCurs 2008-01-28-11.00.09.404170-360 I5108A411 LEVEL: Info PID : 21299528 TID : 1 PROC : db2bp INSTANCE: db2inst1 NODE : 000 APPID : *LOCAL.db2inst1.1234567890 FUNCTION: DB2 UDB, DRDA Application Requester, sqljrParseQryDta, probe:10 RETCODE : ZRC=0x87360009=-2026504183=SQLJC_ERROR_BEOF "DATA DOES NOT EXIST" DIA8506C Unexpected end of file was reached. 2008-01-28-11.00.09.405007-360 I5520A626 LEVEL: Info PID : 21299528 TID : 1 PROC : db2bp INSTANCE: db2inst1 NODE : 000 APPID : *LOCAL.db2inst1.1234567890 DATA #1 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes sqlcaid : SQLCA sqlcabc: 136 sqlcode: -902 sqlerrml: 2 sqlerrmc: 9 sqlerrp : sqljrqry sqlerrd : (1) 0x87360009 (2) 0x00000009 (3) 0x00000000 (4) 0x00000000 (5) 0x00000000 (6) 0x00000000 sqlwarn : (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) sqlstate: ==== The LUW client in question can be CLP, CLI/ODBC or legacy JDBC (using CLI under the covers). JCC type 4 driver does not have this problem. The data in the server is never corrupted. The problem is only on the client that fails to parse the encrypted data. Any fixpak containing the fix for this problem must be applied to clients. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * all * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 9.7 fix pack 6 * **************************************************************** | |
Local Fix: | |
If this problem occurs for a local connection, reduce the value of ASLHEAPSZ to 7. This will reduce the communication buffer size to 7*4096 bytes, which is less than 32KB. If the problem occurs for a remote connection, reduce the value of RQRIOBLK to 32767 on the client side. 32767 is the default value for RQRIOBLK, and is one byte short of 32KB. Note that changing the value on the server side does not avoid this problem. Also note that this problem is only applicable to DATA_ENCRYPT. One may choose to change AUTHENTICATION on the server side to some other value to work around it. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows | |
Solution | |
If this problem occurs for a local connection, reduce the value of ASLHEAPSZ to 7. This will reduce the communication buffer size to 7*4096 bytes, which is less than 32KB. If the problem occurs for a remote connection, reduce the value of RQRIOBLK to 32767 on the client side. 32767 is the default value for RQRIOBLK, and is one byte short of 32KB. Note that changing the value on the server side does not avoid this problem. Also note that this problem is only applicable to DATA_ENCRYPT. One may choose to change AUTHENTICATION on the server side to some other value to work around it. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 05.10.2011 20.06.2012 20.06.2012 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP6 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.6 |