DB2 - Problem description
Problem IC63926 | Status: Closed |
The Rollforward error message reports an incorrect log number when archived log files are missing | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
In a specific scenario (please see repro.sh for detail), the first attempt of rollforward reports SQL1263N for S0000002.LOG. And the second attempt of rollforward reports SQL1263N for S0000127.LOG. The first and second rollforward attempts report different log number errors even the same rollforward command. Rollforwad could search log files in below order: 1. ActiveLogPath 2. OverFlow LogPath 3. ArchiveLogPath From the results of repro.sh, when customer moves log files intentionally for a test purpose, it seems that the first and second rollforward attempts do not searh log files in the same order. Problem reproduce steps: 1. $ db2start 2. modify belows in repro.sh. ----------------------- DBDIR=$HOME/temp/83003 ACTLOG=$HOME/temp/actlog ARCLOG=$HOME/temp/arclog BKUP=$HOME/temp/backup ----------------------- 3. $ repro.sh ------------------------------------------- repro.sh ------------------------------------------- # DBNAME=P83003 DBDIR=$HOME/temp/83003 ACTLOG=$HOME/temp/actlog ARCLOG=$HOME/temp/arclog BKUP=$HOME/temp/backup db2 force application all db2 deactivate db $DBNAME db2 drop db $DBNAME rm -rf $DBDIR rm -rf $ACTLOG rm -rf $ARCLOG rm -rf $BKUP echo "\nHit [Enter] key to continue. Enter any char to cancel." read INPUT if [ ! -z "$INPUT" ] ; then exit fi mkdir $DBDIR mkdir $ACTLOG mkdir $ARCLOG mkdir $BKUP db2 create db $DBNAME on $DBDIR db2 update db cfg for $DBNAME using newlogpath $ACTLOG db2 update db cfg for $DBNAME using logfilsiz 100 db2 update db cfg for $DBNAME using logprimary 100 db2 update db cfg for $DBNAME using logarchmeth1 disk:$ARCLOG db2 backup db $DBNAME to /dev/null db2 activate db $DBNAME db2 connect to $DBNAME db2 "create tablespace ts1" db2 "create tablespace ts2" db2 "create table t1 (a int) in ts1" db2 "create table t2 (a int) in ts2" db2 "declare c1 cursor for with temp(a) as ( values(1) union all select a+1 from temp where a<1000000) select cast( rand() * 10000 as int) from temp" db2 "load from c1 of cursor insert into t1" db2 "terminate" db2 "backup db $DBNAME online to /dev/null" # get database backup echo "backup db $DBNAME..." db2 "backup db $DBNAME online to $BKUP" # generate transaction logs db2 connect to $DBNAME db2pd -d $DBNAME -logs |grep 'Current Log' db2 "insert into t2 select * from t1 fetch first 200000 rows only" db2pd -d $DBNAME -logs |grep 'Current Log' # restore TS2 db2 terminate db2 force application all sleep 1 db2 deactivate db $DBNAME db2 "restore db $DBNAME tablespace (TS2) from $BKUP" # move Archive logs intentionally here echo "\nmv Archive logs intentionally here\n" mkdir -m 777 $ARCLOG/mv mv $ARCLOG/$DB2INSTANCE/$DBNAME/NODE0000/C0000000 $ARCLOG/mv #ecute Rollforward twice echo "\nFirst Rollforward attempt\n" ls $ARCLOG/$DB2INSTANCE/$DBNAME/NODE0000/C0000000 $ACTLOG db2 "rollforward db $DBNAME query status " db2 "rollforward db $DBNAME to end of logs tablespace (TS2)" ls $ARCLOG/$DB2INSTANCE/$DBNAME/NODE0000/C0000000 $ACTLOG echo "\n\n\n\n" echo "\nSecond Rollforward attempt\n" ls $ARCLOG/$DB2INSTANCE/$DBNAME/NODE0000/C0000000 $ACTLOG db2 "rollforward db $DBNAME query status " db2 "rollforward db $DBNAME to end of logs tablespace (TS2)" ls $ARCLOG/$DB2INSTANCE/$DBNAME/NODE0000/C0000000 $ACTLOG db2 "rollforward db $DBNAME stop tablespace (TS2)" ls $ARCLOG/$DB2INSTANCE/$DBNAME/NODE0000/C0000000 $ACTLOG db2level # end of shell ------------------------------------------- | |
Problem Summary: | |
See Error description field for more information. | |
Local Fix: | |
n/a | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 1 for Linux, UNIX, and Windows | |
Solution | |
Problem was first fixed in DB2 UDB Version 9.7 FixPack 1. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 22.10.2009 24.02.2010 24.02.2010 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP1 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.1 |