The change from 10-byte to 16-byte log sequence numbers (LSN) in DB2® 10.1 for Linux, UNIX, and Windows requires that you plan for compatibility of mixed-level or mixed-platform Capture servers, Apply servers, and Apply control servers.
To work with DB2 10.1, all replication control tables that store an LSN value and the programs that read and update the control tables must be updated. The new data type that is used to store LSNs in the control tables is VARCHAR(16) FOR BIT DATA.
Replication uses two methods to determine whether to use 16-byte LSN values or the older 10-byte LSNs: the COMPATIBILITY column in the IBMSNAP_CAPPARMS table and the ARCH_LEVEL column in the IBMSNAP_SUBS_SET table:
Table 1 summarizes the compatibility support.
Capture version | Capture compatibility setting | Capture LSN data length | Apply version | Apply LSN data length | IBMSNAP_SUB_SET.ARCH_LEVEL setting |
---|---|---|---|---|---|
Pre-V10.1 | NA | 10 bytes | Any | 10 | 0801 |
V10.1 | 0801 | 10 bytes | Any 1 | 10 | 0801 |
1001 | 16 bytes | V10 | 16 | 1001 | |
V9.7 or below | Not allowed | ||||
V10.1 with two or more DB2 pureScale® members | Capture compatibility setting of 0801 and data length of 10 are not allowed | ||||
1001 | 16 bytes | V9.7 or below | Not allowed | ||
V10 | Data length of 10 and ARCH_LEVEL of 0801 are not allowed | ||||
16 | 1001 |
Other compatibility considerations:
Note: In terms of compatibility, SQL Replication Version 10.5 on Linux, UNIX, and Windows is equivalent to SQL Replication Version 10.1 on Linux, UNIX, and Windows.
A Version 10.1 Apply program supports both Version 9 and Version 10.1 Apply control servers. The Apply program queries the ARCH_LEVEL column in the IBMSNAP_APPLEVEL table to determine the level of the Apply control tables.
The V10.1 Apply program also queries the COMPATIBILITY column of the IBMSNAP_CAPPARMS table to determine whether the Capture program is using 16-byte LSNs. If the COMPATIBILITY column does not exist (pre-V10.1), Apply assumes 10-byte LSNs. The Apply program queries the ARCH_LEVEL column in the IBMSNAP_SUBS_SET table to determine the level of the subscription set and this must match the COMPATIBILITY value.
When you create CCD target tables, the replication administration tools rely on the Capture compatibility value to determine the length of the IBMSNAP_COMMITSEQ and IBMSNAP_INTENTSEQ columns in the CCD tables.
If the compatibility value is 1001, the tools create CCD target tables with 16-byte LSN columns. If the value is 0801, the tools create CCD targets with 10-byte LSNs.
When you create Q subscriptions with CCD tables as both source and target, the administration tools require that source and target CCD tables use the same data length for columns that store LSNs; that is, 16 byte to 16 byte, and 10 byte to 10 byte.
External CCD source tables, which are not maintained by the Capture program, are supported by the V10.1 Apply program whether the tables have 10-byte or 16-byte LSN column lengths. Pre-V10.1 Apply progams only support external CCD tables that use 10-byte LSNs.