IBM Support

[Db2] DB2DETAILDEADLOCK イベント・モニターの再作成方法

Question & Answer


Question

データベース作成時にデフォルトで作成されるデッドロック・イベント・モニター (DB2DETAILDEADLOCK) の再作成方法を教えてください。

Answer

Db2 8.1 以降、データベース作成時にデフォルト・デッドロック・イベント・モニター (DB2DETAILDEADLOCK) が作成され、自動的にアクティブになります。
作成されたターゲット出力ファイルの数が MAXFILES で指定された上限に達すると、DB2DETAILDEADLOCK が停止し、管理通知ログや db2diag.log にメッセージが書き込まれます。
  • 管理通知ログへの ADM2001W
    2015-01-01-22.58.24.968000   Instance: DB2      Node: 000
    PID: 1116(db2syscs.exe)           TID: 2540    Appid:*LOCAL.DB2.150101080328
    database monitor sqm__evmgr::log_ev_err Probe:2 Databse:SAMPLE
    
    ADM2001W The Event Monitor "DB2DETAILDEADLOCK" was
    deactivated because the MAXFILES and MAXFILES CREATE EVENT MONITOR parameters' 
    limits have been reached.
  • db2diag.log への DIA8052C や ADM2017C
    2020-02-08-13.09.18.739953+540 I8497E1457            LEVEL: Error
    PID     : 23128                TID : 78082141155072  PROC : db2sysc
    INSTANCE: db2inst1             NODE : 000            DB   : SAMPLE
    APPHDL  : 0-76972              APPID: *LOCAL.DB2.200213182922
    AUTHID  : DB2INST1             HOSTNAME: db2server
    EDUID   : 4121                 EDUNAME: db2evmli (DB2DETAILDEADLOCK)
    FUNCTION: DB2 UDB, database monitor, sqm_evmon_ftarget::sqm_evmon_ftarget, probe:315
    MESSAGE : ZRC=0x800D002B=-2146631637=SQLM_RC_EVFULL "monitor full of data"
              DIA8052C The Event Monitor "" has reached its file capacity. Delete
              the files in the target directory "" or move them to another
              directory.
    
    2020-02-08-13.09.18.747022+540 I9955E735             LEVEL: Warning
    PID     : 23128                TID : 78082141155072  PROC : db2sysc
    INSTANCE: db2inst1             NODE : 000            DB   : SAMPLE
    APPHDL  : 0-76972              APPID: *LOCAL.DB2.200213182922
    AUTHID  : DB2INST1             HOSTNAME: db2server
    EDUID   : 4121                 EDUNAME: db2evmli (DB2DETAILDEADLOCK)
    FUNCTION: DB2 UDB, database monitor, sqmEvmonWriter::activate, probe:40
    MESSAGE : ADM2017C  The Event Monitor "DB2DETAILDEADLOCK" has reached its file
              capacity. Delete the files in the target directory
              "/home/db2inst1/db2inst1/NODE0000/SQL00001/MEMBER0000/db2event/db2de
              taildeadlock" or move them to another directory.
    
このような状態になると、以降のデッドロック・イベントは保存されません。以下の手順で DB2DETAILDEADLOCK を再作成して回復できます。
  1. 必要であれば、再作成前に記録されたイベントをフォーマットします。
    db2evmon -db <データベース名> -evm DB2DETAILDEADLOCK > deadlock_evmon.out
  2. イベント・モニターが停止していることを確認します。
    db2 set event monitor db2detaildeadlock state=0
    
  3. イベント・モニターを除去します。
    db2 drop event monitor db2detaildeadlock
  4. db2detaildeadlock ディレクトリ内のファイルを削除します。
    • Unix/Linux:
      rm <データベース・パス>/db2event/db2detaildeadlock/*
    • Windows:
      del <データベース・パス>\db2event\db2detaildeadlock\*
      注: データベース・パスの確認方法は「運用上の考慮点」を参照してください。
  5. イベント・モニターを再作成します。
    • 単一パーティション・データベースの場合
      db2 create event monitor db2detaildeadlock for deadlocks with details write to file 'db2detaildeadlock' maxfiles 20 maxfilesize 512 buffersize 17 blocked append autostart
    • 複数パーティション・データベースの場合
      db2 create event monitor db2detaildeadlock for deadlocks with details write to file 'db2detaildeadlock' maxfiles 20 maxfilesize 512 buffersize 17 blocked append autostart global
  6. イベント・モニターを活動化します。
    db2 set event monitor db2detaildeadlock state=1
運用上の考慮点
イベント・モニターのターゲット出力ファイルがすぐ上限に達する場合、デッドロックが多すぎる、もしくはデータベースの活動化/非活動化の回数が多すぎる可能性があります。状況に応じて、アプリケーションの改修や ACTIVATE DATABASE コマンドによる明示的なデータベースの活動化などをご検討ください。

イベント・モニターの出力ファイルは、データベース・パスの db2event ディレクトリー以下に格納されます。
活動化されているデータベースのデータベース・パスは、LIST ACTIVE DATABASES コマンドで確認できます。
  1. データベースを活動化させます。
    db2 activate db <データベース名>
  2. LIST ACTIVE DATABASES コマンドの「データベース・パス」を参照します。
    db2 list active databases
    $ db2 list active databases
    
                   アクティブ・データベース
    
    データベース名              = SAMPLE
    現在のアプリケーション接続  = 1
    データベース・パス          = /home/db2inst1/db2inst1/NODE0000/SQL00001/MEMBER0000/
    
    
関連情報

お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

[{"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":"a8m500000008PmIAAU","label":"Monitors-\u003EEvent Monitor"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
25 August 2023

UID

swg21591327