IBM Support

[Db2] db2cluster -cm -clear -alert コマンドによるアラート消去方法

Question & Answer


Question

db2instance -list の結果 ALERT が上がっており、db2diag.log にも "pgrpFile->iMonitorOverride : 2" と記録されたエラーが出力され続けています。対処方法について教えてください。
db2instance -list
ID	  TYPE	  STATE     HOME_HOST   CURRENT_HOST    ALERT   PARTITION_NUMBER    LOGICAL_PORT    NETNAME
--	  ----	  -----     ---------   ------------    -----   ----------------    ------------    -------
0	  MEMBER  ERROR     host1       host1           YES     0                   0               db2_host1_en1
1	  MEMBER  STARTED   host2       host2           YES     0                   0               db2_host2_en1
128	  CF	  PRIMARY   cf1         cfA             NO      -                   0               db2_cf1_en1
129	  CF	  CATCHUP   cf2         cfB             NO      -                   0               db2_cf2_en1

HOSTNAME           STATE        INSTANCE_STOPPED    ALERT
--------           -----        ----------------    -----
cf1                ACTIVE       NO                  NO
cf2                ACTIVE       NO                  NO
host1              ACTIVE       NO                  YES
host2              ACTIVE       NO                  YES
db2diag.log
2019-12-27-12.00.21.471616+540 I6218E1121            LEVEL: Error
PID     : 6964                 TID  : 47409607832256 PROC : db2rocm 0 [db2inst1]
INSTANCE: db2inst1             NODE : 000
HOSTNAME: host1
FUNCTION: DB2 UDB, high avail services, sqlhaMonitorPartitionProcess, probe:710
MESSAGE : ZRC=0x827301BF=-2106392129=HA_ZRC_MONITOR_FAULT_FORCED
          "The monitor fault is being forced."
DATA #1 : String, 54 bytes
Monitor override is detected, returning failed offline
DATA #2 : PGRP File Contents, PD_TYPE_SQLO_PGRP_FILE_CONTENTS, 3224 bytes
pgrpFile->iPgrpFileVersion : 2225
pgrpFile->iPgrpId : NOT_INITIALIZED
pgrpFile->iWdogPgrpId : NOT_INITIALIZED
pgrpFile->iSubPgrpId : NOT_INITIALIZED
pgrpFile->iIndex : NOT_INITIALIZED
pgrpFile->iNumber : NOT_INITIALIZED
pgrpFile->iMonitorOverride : 2
pgrpFile->crashCounter : 2
pgrpFile->firstCrashTimeSeconds : 1970-01-01 09:00:00.000000
pgrpFile->monitorTimeoutCounter : 0
pgrpFile->firstMonitorTimeoutSeconds : 1970-01-01 09:00:00.000000
pgrpFile->lastMonitorTimeoutSeconds : 1970-01-01 09:00:00.000000
pgrpFile->hostname : host1
pgrpFile->iNumHCAs : 0

Cause

アラート条件が一時的なアラート・フィールドの場合、自動的にクリアされる場合もあります。
しかし、重大な問題が発生した際は管理者がアラートを手動でクリアするまでアラート・フィールドが設定されたままとなる場合があります。
この際は、管理者が手動でアラートをクリアする必要があります。

Answer

以下の手順でアラートの箇所を特定し、db2cluster -cm -clear -alert コマンドでアラートをクリアしてください。
  1. lssam を実行して "Failed Offline" となっているメンバーリソースを確認します。
    以下の例では、host1 で member 0 のアラートをクリアする必要があります。
    Offline IBM.ResourceGroup:db2_db2inst1_1-rg Control=MemberInProblemState Nominal=Online
            '- Offline IBM.Application:db2_db2inst1_1-rs Control=MemberInProblemState
                    |- Failed offline IBM.Application:db2_db2inst1_0-rs:host1
                    |- Offline IBM.Application:db2_db2inst1_0-rs:host2
    
  2. db2cluster -cm -list -alert を実行し alert 原因となる障害を特定しそれを修正します。
  3. host1 にインスタンスオーナーでログインして以下のコマンドを実行します。
     db2cluster -clear -alert -member 0
     db2cluster -clear -alert -host host1
     *インスタンスオーナー以外の SYSADM,SYSMAINT グループに含まれるユーザーで実行しても正常にクリアできない APAR(IT31531) が報告されています。
     そのため、インスタンスオーナーで実行してください。
    
  4. db2instance -list の結果および db2diag.log からアラートが消えていることを確認します。
関連情報

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Component":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"}],"Version":"10.1, 10.5, 11.1;11.5","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
22 January 2020

UID

ibm11165066