DB2 - Problem description
| Problem IC91841 | Status: Closed |
PAGE READ ERROR WHEN DOING INDEXED SELECTS FROM A RANGE PARTITIONED TABLE AS PART OF NESTED LOOP JOIN PROCESSING | |
| product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| Problem description: | |
When a query that meets all the following conditions is
executed, fewer a index page read error may occur:
- Multiple tables are joined
- Nested-loop join is selected as the join method
- At least one of the tables being joined is a range partitioned
table with a partitioned index
The query may fail with one of the following three errors:
SQL1007N Error in finding pages for an object in a table space.
SQLSTATE=58034
SQL1655C The operation could not be completed due to an error
accessing data
on disk. SQLSTATE=58030
SQL1224N The database manager is not able to accept new
requests, has
terminated all requests in progress, or has terminated the
specified request
because of an error or a forced interrupt. SQLSTATE=55032
The full stack dump will contain both sqliSearchFromCache and
sqlriNljnNonPiped.
For example:
sqlbLogReadAttemptFailure
sqlbReadPage
sqlbGetPageFromDisk
sqlbfix
sqlifix
sqliLatchOrFix
sqliSearchFromCache <-- key function
sqlirdk
sqldIndexFetch
sqldRowFetch
sqlriFetch
sqlriNljnNonPiped <-- key function
The db2diag.log could contain one of the following three errors.
1) sqlbDMScheckObjAlloc, probe:825
2013-07-11-10.14.10.234126-240 I10790E2174 LEVEL: Severe
PID : 17332 TID : 469129463012 PROC : db2sysc
INSTANCE: dbusr NODE : 000 DB : SAMPLEDB
APPHDL : 0-7 APPID: *LOCAL.dbusr.130711141343
AUTHID : DBUSR
EDUID : 16 EDUNAME: db2agent (SAMPLEDB)
FUNCTION: DB2 UDB, buffer pool services, sqlbDMScheckObjAlloc,
probe:825
MESSAGE : ZRC=0x8402001A=-2080243686=SQLB_EMP_MAP_INFO_END "EMP
MAP INFO END"
2) sqlbLatchPoolRange, probe:20
2013-07-11-09.55.52.627422-240 I25278E13158 LEVEL: Severe
PID : 16028 TID : 469129295240 PROC : db2sysc
INSTANCE: dbusr NODE : 000 DB : SAMPLEDB
APPHDL : 0-21 APPID: *LOCAL.dbusr.130711135548
AUTHID : DBUSR
EDUID : 35 EDUNAME: db2agent (SAMPLEDB)
FUNCTION: DB2 UDB, buffer pool services, sqlbLatchPoolRange,
probe:20
MESSAGE : ZRC=0x84020009=-2080243703=SQLB_RC_PG_NUM_ERR "Page
number exceeds max -8100" DIA8709E Segmented table page number
was too high.
3) sqlb_verify_page, probe:2
2013-07-11-11.46.14.502974-240 I24583E3790 LEVEL: Severe
PID : 3933 TID : 46912946301248PROC : db2sysc
INSTANCE: dbusr NODE : 000 DB : SAMPLEDB
APPHDL : 0-7 APPID: *LOCAL.dbusr.130711154606
AUTHID : DBUSR
EDUID : 16 EDUNAME: db2agent (SAMPLEDB)
FUNCTION: DB2 UDB, buffer pool services, sqlb_verify_page,
probe:2
MESSAGE : ZRC=0x86020001=-2046689279=SQLB_BADP "page is bad"
DIA8400C A bad page was encountered. | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All users using range partitioned tables with partitioned * * indexes * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 9.7.0.9. * **************************************************************** | |
| Local Fix: | |
Use an optimization guideline to select a different join method for this query. http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2 Fcom.ibm.db2.luw.admin.perf.doc%2Fdoc%2Fc0024522.html | |
| available fix packs: | |
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows | |
| Solution | |
The problem is first fixed in DB2 version 9.7.0.9. | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 23.04.2013 17.12.2013 17.12.2013 |
| Problem solved at the following versions (IBM BugInfos) | |
9.7.0.9 | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 9.7.0.9 |
|
| 9.7.0.9 |
|