DB2 - Problem description
| Problem IC78934 | Status: Closed |
AN UPDATE OR INSERT QUERY WITH LARGE OBJECT HOST VARIABLE ON DPF FAILS WITH SQL0901. | |
| product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| Problem description: | |
An sql0901 error might occur if the following conditions are
true:
- A DPF environment
- An insert or update query that tries to insert/update a column
with a large type (longvarchar/lob/blob/clob) where a host
variable is used
- the query is enabled with the REOPT feature (either reopt
always or reopt once)
- A failure of some kind happens (for example, an sql0911
deadlock or some other such failure that causes a rollback) with
a very specific timing window shortly after the query is
invoked.
- the query is invoked again in the future (this will give the
-901)
When this problem was discovered, it was noted that using the
concurrency control features of WLM (work load manager) might
increase the chances of hitting the problem because it may
expose the problematic timing window for slightly longer.
In the db2diag.log, the details of the sql0901 are as follows:
2011-08-26-17.00.30.867857+330 I959480630A849 LEVEL: Severe
PID : 3080510 TID : 16481 PROC : db2sysc
1
INSTANCE: svtreg1 NODE : 001 DB : WLM
APPHDL : 0-8801 APPID: *N0.svtreg1.110827040034
AUTHID : SVTREG1
EDUID : 16481 EDUNAME: db2agntp (WLM) 1
FUNCTION: DB2 UDB, relation data serv, sqlrr_dump_ffdc,
probe:300
DATA #1 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes
sqlcaid : SQLCA sqlcabc: 136 sqlcode: -901 sqlerrml: 33
sqlerrmc: sqlrkchvRemote: No entry found #2
sqlerrp : SQLRR093
sqlerrd : (1) 0x00000000 (2) 0x00000000 (3)
0x00000000
(4) 0x00000000 (5) 0xFFFFFF6A (6)
0x00000001
sqlwarn : (1) (2) (3) (4) (5) (6)
(7) (8) (9) (10) (11)
sqlstate:
In addition, the sql0901 error will produce a stack traceback
file showing the following functions on the stack:
sqlzeSqlCode + 0x378
sqlrrSqlCode + 0x2C8
sqlrkchvRemoteFetch + 0x480
sqlrimso + 0x19E8
sqldmadx + 0x5E0
sqldFormatLobLongCol + 0xD94
sqldFullFormatFixedVar + 0x1310
sqldFullFormat + 0x7C
sqldRowUpdate + 0xC1C
sqlriupd + 0x87C
As a result of the -901, the query will get rolled back. | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All dpf * **************************************************************** * PROBLEM DESCRIPTION: * * AN UPDATE OR INSERT QUERY WITH LARGE OBJECT HOST VARIABLE ON * * DPF * * FAILS WITH SQL0901. * **************************************************************** * RECOMMENDATION: * * apply FP5 to get this fix * **************************************************************** | |
| Local Fix: | |
| available fix packs: | |
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows | |
| Solution | |
AN UPDATE OR INSERT QUERY WITH LARGE OBJECT HOST VARIABLE ON DPF FAILS WITH SQL0901. | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 27.09.2011 17.01.2012 17.01.2012 |
| Problem solved at the following versions (IBM BugInfos) | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 9.7.0.5 |
|