DB2 - Problem description
Problem IT21788 | Status: Closed |
DB2 REQUIRES OLDER ARCHIVE LOG FILE FOR DB2READLOG API EVEN IF REQUESTED LSN IS NEWER THAN STARTLSN OF THE CURRENT ACTIVE LOG | |
product: | |
DB2 FOR LUW / DB2FORLUW / B10 - DB2 | |
Problem description: | |
DB2 will attempt to utilize the recovery history file to determine the starting point of the log file scan for db2readlog api to improve start up time and avoid log retrievals. Depending on the starting point, and where transaction logs are in the active log files, this may cause db2 to retrieve an archived log file even when starting point is in active logs. If the archive log files are not present, this will lead to a missing log error such as the following db2diag.log message. The requested LSN "0000000014A42F6D" is newer than StartLSN "0000000014A3DC9C" of the current active log file "S0000448.LOG". * db2diag.log 2016-04-07-11.05.47.360323+540 E37325A987 LEVEL: Error PID : 10551366 TID : 4993 PROC : db2sysc INSTANCE: db2inst1 NODE : 000 DB : DNBAME APPHDL : 0-20593 APPID: *LOCAL.db2inst1.160407020537 AUTHID : AUTHNAME HOSTNAME: HOSTNAME EDUID : 4993 EDUNAME: db2shred (DBNAME) FUNCTION: DB2 UDB, recovery manager, sqlpshrFindExtentForLfsLsn, probe:750 MESSAGE : ZRC=0x86100026=-2045771738=SQLPR_MISSING_LOG_EXT "Used by various operations reading the logs to indicate a missing log extent." DATA #1 : String, 200 bytes Could not find an extent with starting LFS/LSN value prior to the given LFS/LSN. Check if previous logs are missing, starting from missingExtentNum. startSearchExtent / missingExtentNum / searchLfsLsn DATA #2 : unsigned integer, 4 bytes 447 DATA #3 : unsigned integer, 4 bytes 447 DATA #4 : LFS/LSN, PD_TYPE_SQLP_LFS_LSN_PAIR, 16 bytes 10249486/0000000014A42F6D 2016-04-07-11.05.47.393345+540 E44747A540 LEVEL: Error PID : 10551366 TID : 5398 PROC : db2sysc INSTANCE: db2inst1 NODE : 000 DB : DBNAME APPHDL : 0-20593 APPID: *LOCAL.db2inst1.160407020537 AUTHID : AUTHNAME HOSTNAME: HOSTNAME EDUID : 5398 EDUNAME: db2agent (DBNAME) FUNCTION: DB2 UDB, data protection services, sqlpgReadLogAPI, probe:1 DATA #1 : String, 12 bytes S0000447.LOG DATA #2 : String, 1 bytes 0 DATA #3 : String, 1 bytes 0 2016-04-07-11.05.50.461040+540 I48099A492 LEVEL: Warning PID : 10551366 TID : 14007 PROC : db2sysc INSTANCE: db2inst1 NODE : 000 DB : DBNAME HOSTNAME: HOSTNAME EDUID : 14007 EDUNAME: db2lfr.0 (DBNAME) FUNCTION: DB2 UDB, recovery manager, sqlplfrFMReadLog, probe:5120 DATA #1 : LFR Scan Num = 35 LFR Scan Caller's EDUID = 4993 Return code for LFR opening file S0000447.LOG was -2146434659 2016-04-07-11.05.53.564859+540 I74029A599 LEVEL: Warning PID : 10551366 TID : 5398 PROC : db2sysc INSTANCE: db2inst1 NODE : 000 DB : DBNAME APPHDL : 0-20593 APPID: *LOCAL.db2inst1.160407020537 AUTHID : AUTHNAME HOSTNAME: HOSTNAME EDUID : 5398 EDUNAME: db2agent (DBNAME) FUNCTION: DB2 UDB, data protection services, sqlpgReadLogAPI, probe:17350 MESSAGE : ZRC=0x86100026=-2045771738=SQLPR_MISSING_LOG_EXT "Used by various operations reading the logs to indicate a missing log extent." 2016-04-07-11.05.50.486670+540 E59478A540 LEVEL: Error PID : 10551366 TID : 5398 PROC : db2sysc INSTANCE: db2inst1 NODE : 000 DB : DBNAME APPHDL : 0-20593 APPID: *LOCAL.db2inst1.160407020537 AUTHID : AUTHNAME HOSTNAME: HOSTNAME EDUID : 5398 EDUNAME: db2agent (DBNAME) FUNCTION: DB2 UDB, data protection services, sqlpgReadLogAPI, probe:1 DATA #1 : String, 12 bytes S0000447.LOG DATA #2 : String, 1 bytes 0 DATA #3 : String, 1 bytes 0 * "db2pd -logs -db DBNAME" output Database Member 0 -- Database DBNAME -- Active -- Up 50 days 13:52:24 -- Date 2016-04-07-11.03.20.252777 Logs: Current Log Number 448 Pages Written 707 Cur Commit Disk Log Reads 0 Cur Commit Total Log Reads 0 Method 1 Archive Status Success Method 1 Next Log to Archive 448 Method 1 First Failure n/a Method 2 Archive Status n/a Method 2 Next Log to Archive n/a Method 2 First Failure n/a Log Chain ID 2 Current LSO 54821006472 Current LSN 0x0000000014A42EE1 Address StartLSN StartLSO State Size Pages Filename 0x0A000300011DE970 0000000014A3DC9C 54818124001 0x00000000 30000 30000 S0000448.LOG 0x0A000300011DF2D0 0000000000000000 54940404001 0x00000000 30000 30000 S0000449.LOG ... | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 11.1 Modification 2 FixPack 2 or * * later * **************************************************************** | |
Local Fix: | |
Possible workarounds are the follows. To restore the archive log file which is logged as a missing log extent in db2diag.log. Or to prune all archive log entries on the recovery history file by "PRUNE HISTORY" command and the offline database backup may be needed before it. | |
Solution | |
Workaround | |
not known / see Local fix | |
BUG-Tracking | |
forerunner : IT15462 follow-up : | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 04.08.2017 12.10.2017 12.10.2017 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) |