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 の設定を変更してください。
- 任意のエディターで /etc/systemd/logind.conf を開き、RemoveIPC=no を設定します。
logind.conf に RemoveIPC の行があれば yes を no に、RemoveIPC の行がなければ RemoveIPC=no の行を追加します。 - 設定を反映させるため、logind を再起動します。
systemctl restart systemd-logind
お問合せ先
技術的な内容に関して、サービス契約のもと IBM サービス・ラインにお問い合わせください。
IBMサービス・ライン
Related Information
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21993050