Unanswered: User Exit Program On Archive Log File Not Found
Hi All -
I have taken a database backup with Rollforward Recovery ON (ie LOGRETAIN = 'yes' and USEREXIT = 'no'). Later when i tried to restore the database, it worked fine but with few warnings. Then i went to db2diag.log and found the description given below.
DB2 not able to find User Exit program on ARCHIVE log file
S0000000.LOG from /home /db2inst1/db2ins/NODE0000/SQL00004/SQLOGDIR/ for database AUTOCAT, error code 24
Why should DB2 look for USEREXIT program even though i set the USEREXIT parameter to 'NO'
db2 uses the user exit program for different reasons - one to archive logs to another directory or TSM or tape. If you specify no for userexit in the db cfg, that prevents the archive logs from being copied out of the active log directory. Db2 also uses the user exit program during recovery. If db2 doesn't find the required logs in the active log directory during rollforward, it is going to try to make the userexit program (db2uext2) in $INSTHOME/sqllib/adm/ look for it if log retain is set to yes. I think if the logs or in another directory, you can specify an overflow log path for the rollforward command. If db2 does not find the required logs in either of these directories, then db2 will try to call the userexit to locate them.
There are some sample userexit programs under /usr/lpp/db2_07_01/samples/c/.