Capture program warm start failed
The Capture program warm start failed because existing data is too old
1.1 Error message
ASN0121E The Capture program warm start failed because existing data is
too old. The Capture program will terminate.
or
ASN0101W The Capture program warm start failed because existing data is
too old; a cold start will be attempted.
1.2 Possible causes
The time of the warm start information exceeded LAG_LIMIT.
LAG_LIMIT is a capture parameter that indicates the number of minutes that the Capture program is allowed to lag when processing log records before it shutdowns. During peak load intervals/periods, a full refresh can take advantage over updates.
In case capture has been started with WARMNS, it will not attempt a cold start and the message ASN0121E will be returned followed by a capture program terminate. In case it has been started with WARMSA or WARMSI, it will return the message ASN0101W and a cold start will occur.
1.3 Investigating
Step 1: Find out what is the current capture lag
The lag is the gap of time between current timestamp and the capture synchtime, which is the timestamp until when capture has processed all the transaction logs. To calculate capture lag run the select below:
db2 "select second(current timestamp - synchtime) + \
((minute(current timestamp) - minute(synchtime)) * 60) + \
((hour(current timestamp) - hour(synchtime)) * 3600) + \
((days(current timestamp) - days(synchtime)) * 86400) as capture_lag, \
' seconds' from asn.ibmsnap_register where global_record='Y' with ur"
Output:
CAPTURE_LAG 2
----------- --------
700000 seconds
1 record(s) selected.
NOTE: This select query will return current capture lag in SECONDS.
Step 2: Find out what is the lag_limit setting.
LAG_LIMIT is a parameter that can be provided at capture start time. You can try to find out the value of this parameter looking at the capture LOG file at the moment it started:
ASN0529I "Capture" : "ASN" : "Initial" : The value of "LAG_LIMIT" was \
set to "10080" at startup by the following method: "IBMSNAP_CAPPARMS".
Or issue the command below:
asnccmd capture_server=ESDWBB01 qryparms
Output:
2008-03-19-19.00.55.809336 ASN0521I "AsnCcmd" : "ASN" : "Initial" :
The QRYPARMS command response: "LAG_LIMIT" was set to "10080" by the
following method: "PARAMETERS TABLE".
NOTE: This parameter corresponds to the lag_limit in MINUTES.
1.4 Resolution
To solve the problem, you can try to increase the LAG_LIMIT parameter in the capture start command to a value greater than the current capture lag in minutes. For example:
asncap capture_server=ESDWBB01 lag_limit=12000 startmode=warmns
However, if the lag is too big and capture would take longer to process the pending logs than performing a full refresh, it can be easier to start capture in cold mode and let apply perform a full refresh than increasing the lag limit and waiting until it processes all transaction logs. To start capture in cold mode you can run:
asncap capture_server=ESDWBB01 startmode=cold
NOTE: Be careful! Some database are VERY BIG and a COLD start is NOT recommended.