IBM Support

[DB2 LUW] RHEL 7.2 で DB2 インスタンスが頻繁にクラッシュ (Panic) する

Troubleshooting


Problem

REHL 7.2 で稼動する DB2 インスタンスが頻繁にクラッシュします。 db2diag.log に ADM14001C (Panic) が記録され、Panic に至る過程で OSERR: EIDRM (43) や OSERR: EINVAL (22) が記録されます。

Symptom

REHL 7.2 で稼動する DB2 インスタンスが頻繁にクラッシュします。
db2diag.log に ADM14001C (Panic) が記録され、Panic に至る過程で OSERR: EIDRM (43) や OSERR: EINVAL (22) が記録されます。


2016-09-21-13.44.13.177046+540 E568932E1617          LEVEL: Severe
PID     : 2002                 TID : 139836509906688 PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000            DB   : SAMPLE
HOSTNAME: host1.example.com
EDUID   : 185                  EDUNAME: db2pfchr (SAMPLE) 0
FUNCTION: DB2 UDB, oper system services, sqloEDUCodeTrapHandler, probe:998
MESSAGE : ADM14001C  An unexpected and critical error has occurred: "Panic".
          The instance may have been shutdown as a result. "Automatic" FODC
          (First Occurrence Data Capture) has been invoked and diagnostic
          information has been recorded in directory
         "/home/db2inst1/sqllib/db2dump/FODC_Panic_2016-09-21-13.44.02.376820_
          0000/". Please look in this directory for detailed evidence about
          what happened and contact IBM support if necessary to diagnose the
          problem.

Cause

RHEL 7.2 に付属するバージョンの systemd は、デフォルトで /etc/systemd/logind.conf に RemoveIPC=yes が設定されています。この設定により、インスタンス・オーナーがログアウトすると、DB2 インスタンスが利用しているセマフォやメッセージ・キューなどの共有リソースが除去されます。

詳細は RedHat 社が公開している以下の文書を参照してください。

Applications using IPC (semaphores, shared memory, message queues) have problems after update to RHEL 7.2
https://access.redhat.com/solutions/2062273

DB2 は共有リソースの除去を感知した場合、その後の処理を継続できないため、Panic を呼び出してインスタンスをシャットダウンします。

Diagnosing The Problem

db2diag.log には共有メモリーの除去によるエラー EIDRM (43) や EINVAL (22) が記録されます。


2016-10-06-17.22.33.883329+540 E1607177E484          LEVEL: Error (OS)
PID     : 10486                TID : 139679282226944 PROC : db2sysc
INSTANCE: db2inst1             NODE : 000            DB   : SAMPLE
HOSTNAME: host1.example.com
EDUID   : 228                  EDUNAME: db2pfchr (SAMPLE)
FUNCTION: DB2 UDB, oper system services, sqloCSemP, probe:1
MESSAGE : ZRC=0x8300002B=-2097151957
CALLED  : OS, -, unspecified_system_function      OSERR: EIDRM (43)
<略>

2016-09-21-13.44.01.109058+540 I276476E2089          LEVEL: Severe (OS)
PID     : 2002                 TID : 139841614374656 PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000
HOSTNAME: host1.example.com
EDUID   : 19                   EDUNAME: db2resync 0
FUNCTION: DB2 UDB, oper system services, sqloWaitEDUWaitPost, probe:100
MESSAGE : ZRC=0x8300002B=-2097151957
CALLED  : OS, -, semop                            OSERR: EIDRM (43)
<略>

2016-09-15-14.23.54.878818-420 E28511810E580 LEVEL: Error (OS)
PID : 20004                    TID : 140324395542272 PROC : db2wdog 0 [db2inst1]
INSTANCE: db2inst1             NODE : 000
HOSTNAME: hostname.com
EDUID : 2                      EDUNAME: db2wdog 0 [db2inst1]
FUNCTION: DB2 UDB, oper system services, sqlorqueInternal, probe:9
MESSAGE : ZRC=0x870F003E=-2029060034=SQLO_QUE_BAD_HANDLE "Bad Queue Handle"
DIA8555C An invalid message queue handle was encountered.
CALLED : OS, -, msgrcv                            OSERR: EINVAL (22)

Resolving The Problem

ユーザーのログアウト時に共有リソースを除去しないよう、logind の設定を変更してください。

  1. 任意のエディターで /etc/systemd/logind.conf を開き、RemoveIPC=no を設定します。
    logind.conf に RemoveIPC の行があれば yes を no に、RemoveIPC の行がなければ RemoveIPC=no の行を追加します。
  2. 設定を反映させるため、logind を再起動します。
    systemctl restart systemd-logind

お問合せ先
技術的な内容に関して、サービス契約のもと IBM サービス・ラインにお問い合わせください。
IBMサービス・ライン

[{"Product":{"code":"SSEPGG","label":"DB2 for Linux- UNIX and Windows"},"Business Unit":{"code":"BU001","label":"Analytics Private Cloud"},"Component":"--","Platform":[{"code":"PF016","label":"Linux"}],"Version":"10.5;11.1","Edition":""}]

Document Information

Modified date:
16 June 2018

UID

swg21993050