May 14

Error description

The TSM Administrator guide provides instructions for moving
the active, archive and archive failover logs under section
titled “Moving the database and recovery logs on a server”.

After moving the active and archive logs, the database backup
fails with following error :

ANR2971E Database backup/restore/rollforward terminated –
DB2 sqlcode -2428 error.

In the case of a TSM server running on windows where the logs
are moved from one drive to another (E: to F: for example), the
db2diag.log shows :

2010-02-11-11.24.17.120000-480 E2521076F450  LEVEL: Error
PID     : 2892                 TID  : 3564   PROC : db2syscs.exe
INSTANCE: SRV1                 NODE : 000
EDUID   : 3564                 EDUNAME: db2lfr (TSMDB1)
FUNCTION: DB2 UDB, data protection services,
sqlpSearchForLogArchiveOnDisk, probe:4000
MESSAGE : ZRC=0x870F0011=-2029060079=SQLO_PATH “an invalid path”
          DIA8514C An invalid file path, “”, was specified.

2010-02-11-11.24.17.120000-480 E2522362F437  LEVEL: Warning
PID     : 2892                 TID  : 3540   PROC : db2syscs.exe
INSTANCE: SRV1                 NODE : 000
EDUID   : 3540                 EDUNAME: db2logmgr (TSMDB1)
FUNCTION: DB2 UDB, data protection services,
sqlpgRetrieveLogFile, probe:4165
MESSAGE : ADM1847W  Failed to retrieve log file “SXXX.LOG” on
chain “0” from “E:\archlog\RstDbLog\”.

The db2diag.log shows that the path of the log at the old
location is still referenced.

NOTE: This behavior can also happen when the ARCHLOGFAILOVERDIR
      option is removed completely, as opposed to just changed.
.
Customer/L2 Diagnostics:
Review the server options file for the log options using the
“QUERY OPTION” TSM administrative command. For example :

ActiveLogDir          F:\log
ArchiveLogDir         F:\archlog
ArchFailOverLogDir

Review the DB2 database configuration parameters for the logs
using the “db2 get db cfg for TSMDB1”. For example :

Path to log files                         = F:\log\
Overflow log path       (OVERFLOWLOGPATH) = E:\archlog\RstDbLog\
Failover log archive path  (FAILARCHPATH) = E:\archlog\failarch\
First log archive method
                     (LOGARCHMETH1) = DISK:F:\archlog\archmeth1\

The DB2 database configuration still shows the “old” path
for the Overflow and Failover log paths.

UNIX reported that the following DB2 setting also had the old
path.  Ex:
First log archive method (LOGARCHMETH1) =
DISK:/tsm2/tsmarchlog/archmeth1/

Local fix

Follow the below steps to manually correct the configuration.
1. Create missing directories. For example :
F:\archlog\RstDbLog
F:\archlog\failarch
2. Stop the TSM server
3. Start DB2 with “db2start”
4. Update the DB2 database configuration with the following
   two commands :
a) db2 update db cfg for TSMDB1 using OVERFLOWLOGPATH
   “F:\archlog\RstDbLog\”
b) db2 update db cfg for TSMDB1 using FAILARCHPATH
   “F:\archlog\failarch\”

UNIX example of the corrected path for LOGARCHMETH1, do:
db2 update db cfg for TSMDB1 using LOGARCHMETH1
DISK:/tsm2a/tsmarchlog/archmeth1/

5.  Start TSM server

written by Bosse