IBM Support

JR62021: CDC DB2 WAREHOUSE MIRROR BULK APPLY (MBA) INSERT WOULD FAIL IF THE TARGET TABLE HAS GRAPHIC OR VARGRAPHIC COLUMNS

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Mirror Bulk Apply is a form of CDC fast apply that can be
    configured for applying to a Db2 Warehouse database. This form
    of fast apply organizes Insert/Update/Delete (IUD) operations
    into a Unit Of Work (UOW) that consists of batches of delete
    operations and insert operations, with separate batches for
    each table. Each batch of delete operations and insert
    operations on a table are applied via a Db2 Warehouse External
    Table. The default database encoding for a Db2 Warehouse
    database is UTF-8, and Db2 Warehouse requires the encoding of
    all data in an external table be UTF-8 or Latin-9. The
    character set for a graphic or vargraphic column is always
    UTF-16BE. CDC was storing the data for a graphic or vargraphic
    column in UTF-16BE in the external table. This caused the
    external table apply to fail with sqlcode -20569 sqlstate 428IB
    reason code '1' or sqlcode -20580 sqlstate 22551. This was
    because Db2 Warehouse was expecting UTF-8 bytes and either
    could not interpret the UTF-16BE bytes or the length in bytes
    was too long (since all UTF-16BE bytes are 2 bytes long and
    most UTF-8 bytes are 1 byte long). This has been fixed. CDC now
    stores graphic or vargraphic column data in UTF-8 in the
    external table.
    

Local fix

  • Workaround is to use CHAR or VARCHAR instead of GRAPHIC o
    VARGRAPHIC.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * This issue affects clients applying data to Db2 Warehouse.   *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * CDC for Db2 was storing the data for a graphic or vargraphic *
    * column in UTF-16BE in an external table. This caused the     *
    * external table apply to fail with sqlcode -20569 sqlstate    *
    * 428IB reason code '1' or sqlcode -20580 sqlstate 22551. This *
    * was because Db2 Warehouse was expecting UTF-8 bytes and      *
    * either could not interpret the UTF-16BE bytes or the length  *
    * in bytes was too long (since all UTF-16BE bytes are 2 bytes  *
    * long and most UTF-8 bytes are 1 byte long). This has been    *
    * fixed. CDC now stores graphic or vargraphic column data in   *
    * UTF-8 in the external table.                                 *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to IBM Data Replication CDC for Db2 11.4.0.2-5528 or *
    * later.                                                       *
    ****************************************************************
    Mirror Bulk Apply is a form of CDC fast apply that can be
    configured for applying to a Db2 Warehouse database. This form
    of fast apply organizes Insert/Update/Delete operations into a
    Unit Of Work (UOW) that consists of batches of delete operations
    and insert operations, with separate batches for each table.
    Each batch of delete operations and insert operations on a table
    are applied via a Db2 Warehouse External Table. The default
    database encoding for a Db2 Warehouse database is UTF-8, and Db2
    Warehouse requires the encoding of all data in an external table
    be UTF-8 or Latin-9. The character set for a graphic or
    vargraphic column is always UTF-16BE.
    

Problem conclusion

  • Upgrading to IBM Data Replication CDC for Db2 11.4.0.2-5528
    resolves the issue.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR62021

  • Reported component name

    IS CDC DB2 LUW

  • Reported component ID

    5725E30DL

  • Reported release

    B40

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-02-19

  • Closed date

    2020-02-26

  • Last modified date

    2020-02-26

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    IS CDC DB2 LUW

  • Fixed component ID

    5725E30DL

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSTRGZ","label":"InfoSphere Data Replication"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B40","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
27 March 2020