IBM Support

Red Alert - Db2 12 for z/OS users: Undetected data loss exposure when using insert algorithm 2 ("IAG2") feature.

General Page

The z System Software community releases support bulletins to let you know about critical problems in a product that runs on a zSeries server.
 

Date: 2020.07.23


Title:

Db2 12 for z/OS users: Undetected data loss exposure when using insert algorithm 2 ("IAG2") feature.


Abstract:

Use of the IAG2 feature in Db2 12 can result in page regression and lost updates due to concurrent IAG2 and non-IAG2 ("IAG1") insert processing either within a single member or across multiple members of a data sharing group. This exposure exists only for Db2 12 systems at function level 500 (FL 500) or higher for UTS table spaces with MEMBER CLUSTER and either ZPARM DEFAULT_INSERT_ALGORITHM set to 2, or DEFAULT_INSERT_ALGORITHM set to 1 and INSERT ALGORITHM set to 2 at the table space level. NOTE: you must install maintenance before disabling this ZPARM in most cases; see details below.


Users Affected:

Db2 12 for z/OS users.


Description:

When Db2 insert processing switches between the use of IAG2 and IAG1 for a pageset, it is possible that an insert can use IAG2, whereas other inserts use the IAG1 insert algorithm. Due to serialization issues, the concurrent use of different insert algorithms may result in IAG2 insert processing overwriting data pages that had previously been used by IAG1, thereby resulting in loss of data. The switch between IAG1 and IAG2 can result from a change to the DEFAULT_INSERT_ALGORITHM ZPARM or from internal Db2 algorithms. The exposure exists either within a single subsystem, or when IAG1 and IAG2 are simultaneously active across members of a data sharing group. Since IAG2 is enabled by default at FL500, we recommend the following actions to safely disable IAG2 until further notice. You can find more information about IAG2 at the IBM Knowledge Center: http://ibm.biz/db2z12-iag2


Recommended Actions:

  1. If Db2 12 is at FL 100, set DEFAULT_INSERT_ALGORITHM to 0 before activating function level 500 or higher in order to disable the use of IAG2. An online ZPARM change can be used.
  2. If Db2 12 is at FL 500, or higher and not in data sharing, either disable IAG2 as an offline ZPARM change by setting DEFAULT_INSERT_ALGORITHM to 0, or apply PTF UI69157 first and then use an online ZPARM change. You must apply PTF UI69157 if you use an online ZPARM change.
  3. If Db2 12 is at FL 500, or higher and in data sharing, you must first apply PTF UI69157 to all members of the data sharing group and then disable IAG2 by setting DEFAULT_INSERT_ALGORITHM to 0 on each member of the group. The PTF does not need to be applied to all members of the group at the same time. An online or offline ZPARM change can be used, and it does not need to be made simultaneously on all members of the group. You must apply PTF UI69157 to all members of the data sharing group if you use the online ZPARM change.
  4. IAG2 should remain disabled until further notice. Such notice will be provided at a later date at https://ibm.biz/db2znews.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG90","label":"z\/OS"},"Component":"","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB56","label":"Z HW"}}]

Document Information

Modified date:
21 September 2022

UID

ibm16622031