Qualifying log records for IFCID 0306 requests

To retrieve IFCID 0306 log records, your program must initialize certain fields in the qualification area that is mapped by DSNDWQAL.

Begin program-specific programming interface information.These qualification fields are:

WQALLMOD
In this 1-byte field, specify one of the following modes:
'D'
Retrieves the single log record whose RBA value and member id is specified in WQALLRBA. Issuing a D request while holding a position in the log, causes the request to fail and terminates the log position held.
'F'
Used as a first call to request log records beyond the LRSN or RBA specified in WQALLRBA that meet the criteria specified in WQALLCRI.
'H'
Retrieves the highest LRSN or log RBA in the active log. The value is returned in field IFCAHLRS of the IFI communications area (IFCA). There is no data returned in the return area and the return code for this call will indicate that no data was returned.
'N'
Used following mode F or N calls to request any remaining log records that meet the criteria specified in WQALLCRI. * and any option specified in WQALLOPT. As many log records as fit in the program's return area are returned.
'T'
Terminates the log position that was held by any previous F or N request. This allows held resources to be released.

Mode R is not used for IFCID 0306.

Start of changeFor both F or N requests, each log record that is returned contains a record-level feedback area recorded in QW0306L. The number of log records retrieved is in QW0306CT. The ending log RBA or LRSN of the log records to be returned is in QW0306ES. If previous READS requests returned 00E60812 (successful end of READS) or 00E60813 (successful end of READS with no data), for a data sharing environment you can use either QW0306ES or QW0306ES+1 in the next F call. For a non-data sharing environment, use QW0306ES+1 as the start of the log read in the next F call. The F call returns the next range from the last RBA that was provided. Consider the following example:End of change

First, the READS request ends with 00E60812:


                 WQALLMOD  WQALLRBA                                     
                 --------  --------------------                                 
READS input:           C6  00000000CAC5B606C843                                 
                                                                        
                 QW0306ES             QW0306CT  IFCARC1 IFCARC2  IFCABM         
                 -------------------- --------  ------- -------- --------       
READS output:    00000000CAC5B606CB6C 0060           04 00E60812 00011F3F

In the next F call for a data sharing environment, you specify either QW0306ES or QW0306ES+1 as the input for WQALLRBA:

WQALLMOD  WQALLRBA                                     
                 --------  --------------------                                 
READS input:           C6  00000000CAC5B606CB6C                                 
                                                                        
                 QW0306ES             QW0306CT  IFCARC1 IFCARC2  IFCABM         
                 -------------------- --------  ------- -------- --------       
READS output:    00000000CAC5B606CE91 008E           04 00E60812 00004B7B
WQALLCRI
In this 1-byte field, indicate what types of log records are to be returned:
X'00' (WQALLCR0)
Only log records for changed data capture and unit of recovery control.
X'01' (WQALLCR1)
Only log records for changed data capture and unit of recovery control from the proxy data sharing group in a GDPS® Continuous Availability with zero data loss environment. Records are returned until the end-of-scope log point is reached.
X'02' (WQALLCR2)
All types of log records from the proxy data sharing group in a GDPS Continuous Availability with zero data loss environment. Records are returned until the end-of-scope log point is reached.
X'03' (WQALLCR3)
Only log records for changed data capture and unit of recovery control from the proxy data sharing group in a GDPS Continuous Availability with zero data loss environment. Records are returned until the end-of-log point is reached for all members of the data sharing group.
X'04' (WQALLCR4)
All types of log records from the proxy data sharing group in a GDPS Continuous Availability with zero data loss environment. Records are returned until the end-of-log point is reached for all members of the data sharing group.
X'FF' (WQALLCRA)
All types of log records. Use of this option can retrieve large data volumes and degrade Db2 performance.
WQALLOPT
In this 1-byte field, indicate whether you want:
  • The returned log records to be decompressed
  • The log records to be converted to the format for the Db2 version in which the data was written.
X'00'
Tells Db2 to leave the log records in the compressed format.
X'01'
Tells Db2 to decompress the log records before they are returned.
X'02'
Tells Db2 to convert the log records to the format for the table space version that was current when the data was written.
X'03'
Tells Db2 to decompress the log records, and to convert the log records to the format for the table space version that was current when the data was written.
WQALLRBA
In this 12-byte field, specify the starting log RBA or LRSN of the control records to be returned. For IFCID 0306, this is used on the first option (F) request to request log records beyond the LRSN or RBA specified in this field. Determine the RBA or LRSN value from the H request. For RBAs, the value plus one should be used. For IFCID 0306 with D request of WQALLMOD, the high-order 2 bytes must specify member id and the low order 10 bytes contain the RBA.
WQALWQLS
In this 64-bit pointer, specify the address of an optional qualification block named WQLS, which is mapped in macro DSNDWQAL. WQLS is used to filter log records that are returned for IFCID 0306. The qualification block consists of a header of type 'DBPS' or 'DBOB', a count of qualification items up to 50000, and a list containing DBID and PSID pairs or DBID and OBID pairs. For table space log records, include DBID and PSID pairs, and a header type of 'DBPS'. For table log records, include DBID and OBID pairs, and a header of type 'DBOB'. WQALLCRI must be set to X'00' for this additional qualification.

If flag WQLSALTR (X'40') in the WQLSFLG field is set to 1, qualifications are not applied to log records with subtype X'0083' (alter or modify log records for Db2 replication), so log records for all table spaces are returned.

A typical sequence of IFCID 0306 calls is:

WQALLMOD='H'
This call is necessary only if you want to find the current position in the log. The LRSN or RBA is returned in IFCAHLRS. The return area is not used.
Important: To avoid data loss, before you issue an IFCID 0306 call with WQALLMOD='H' to a proxy group in a GDPS Continuous Availability with zero data loss environment, ensure that the Sysplex Timers for the source sysplex and the proxy sysplex are set to within 150 milliseconds of each other.
WQALLMOD='F'
The WQALLRBA, WQALLCRI and WQALLOPT fields need to be set. If 00E60812 is returned, you have all the data for this scope. You should wait a while before issuing another WQALLMOD='F' call. In a data sharing environment, log buffers are flushed when a request with WQALLMOD='F' request is issued.
WQALLMOD='N'
If the 00E60812 has not been returned, you issue this call until it is. You should wait a while before issuing another WQALLMOD='F' call.
WQALLMOD='T'
This should only be used if you do not want to continue with the WQALLMOD='N' before the end is reached. It has no use if a position is not held in the log.

End program-specific programming interface information.