IBM Support

[Db2] VMware 上で稼働する Db2 がチェックサム・エラーを報告することがある

Troubleshooting


Problem

特定の VMware 上で稼働する Db2 がときどきチェックサム・エラーを報告することがあります。

Symptom

間欠的に Db2 が以下のようなチェックサム・エラーによる Bad Page を報告します。
2024-03-02-17.15.33.612481+480 I1932856E1070         LEVEL: Severe
PID     : 2347221              TID : 140177523599104 PROC : db2sysc 0
INSTANCE: DB2INST1             NODE : 000            DB   : SAMPLE
APPHDL  : 0-3303               APPID: x.x.x.x.41532.240302081522
UOWID   : 4420                 ACTID: 2              
AUTHID  : APPCONN              HOSTNAME: HOST1
EDUID   : 142                  EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, buffer pool services, sqlb_verify_page, probe:5803
MESSAGE : ZRC=0x86020019=-2046689255=SQLB_CSUM "Bad Page, Checksum Error"
          DIA8426C A invalid page checksum was found for page "".
DATA #1 : String, 27 bytes
CheckSum verification error
DATA #2 : String, 50 bytes
CheckSum values from the page header on disk are :
DATA #3 : unsigned integer, 4 bytes
2790216175
DATA #4 : unsigned integer, 4 bytes
3341360639
DATA #5 : String, 68 bytes
CheckSum values calculated from the page, following the read, are : 
DATA #6 : unsigned integer, 4 bytes
1131065141
DATA #7 : unsigned integer, 4 bytes
3394188523

Cause

CPU が AVX-512 をサポートしている場合、Db2 は AVX-512 に最適化されたチェックサム計算を行います。Db2 が使用する AVX-512 と vSAN が使用している AVX-2 の影響で、正しくないチェックサムが返ることがあります。

Environment

AVX-512 が利用可能なハードウェア上の vSAN 8.x (VMware vSphere ESXi 8.x) 

Diagnosing The Problem

使用しているシステムが Environment に該当し、チェックサム・エラーによる Bad Page が db2diag.log に記録されている場合、この問題の影響を受けている可能性があります。また、エラーが記録されていない場合でも db2dart コマンドによるデータベースの検査をお勧めします。

Resolving The Problem

解決策
この問題は vSphere ESXi 8.0U2c で修正されています。

IBM Db2 application reports checksum errors

回避策
以下の設定で Db2 による AVX-512 の使用を無効化して問題を回避できます。vSAN 8.x を使用している場合は回避策の適用を検討してください。ただし、カラム・オーガナイズ表を使用している場合、この設定はパフォーマンスに影響を与える可能性があります。行オーガナイズ表を使用している場合の影響は軽微です。
  1. インスタンス・オーナーで Db2 サーバーにログインします。
  2. 以下のコマンドを実行します。
    db2set DB2_CPU_FEATURE_DISABLE=AVX512
    db2stop force
    db2start
vSAN 8.x を使用している場合、エラーが報告されていないデータベースでもオフラインでの db2dart による検査をお勧めします。
  1. インスタンス・オーナーで Db2 サーバーにログインします。
  2. データベースが停止していることを確認します。停止していない場合は force application と deactivate db で停止します。
    db2 list active databases
    db2 force application all
    db2 deactivate db <db_name>
  3. db2dart コマンドによる検査を実行します。データベースのサイズに応じて数十分から数十時間を要することがあります。
    db2dart <db_name>
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PkoAAE","label":"Operating System or Hardware"}],"ARM Case Number":"","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"All Versions"}]

Document Information

Modified date:
23 May 2024

UID

ibm17154811