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) が記録されます。
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 を呼び出してインスタンスをシャットダウンします。
詳細は 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 の設定を変更してください。
- 任意のエディターで /etc/systemd/logind.conf を開き、RemoveIPC=no を設定します。
logind.conf に RemoveIPC の行があれば yes を no に、RemoveIPC の行がなければ RemoveIPC=no の行を追加します。 - 設定を反映させるため、logind を再起動します。
systemctl restart systemd-logind
Related Information
[{"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":"a8m500000008PmFAAU","label":"Operating System or Hardware-\u003EOS Configuration"}],"ARM Case Number":"","Platform":[{"code":"PF016","label":"Linux"}],"Version":"10.5.0;11.1.0"}]
Was this topic helpful?
Document Information
Modified date:
21 August 2023
UID
swg21993050