Question & Answer
Question
バージョン 9.7 以降のロック・イベント・モニターで取得した、ロック・タイムアウト・イベント (LOCKTIMEOUT) の情報の見方について教えてください。
Answer
※ ロック・イベント・モニターの設定方法は [Db2] ロック・イベント・モニターの設定方法 を参照してください。
EVMON_FORMAT_UE_TO_XML 表関数 - 不定形式イベントを XML に変換する
イベント・モニター・データ読み取り用の db2evmonfmt ツール
[Db2] パスポート・アドバンテージによく寄せられる質問
[Db2] ロック・イベント・モニターの設定方法
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート
- 未フォーマット・イベント表の情報取得
ロック・イベント・モニターで取得した情報のフォーマットの方法は [Db2] ロック・イベント・モニターで取得した情報のフォーマット方法 を参照してください。db2evmonfmt 使用してテキスト・レポートを出力します。実行例:
指定したイベント ID 1 のフォーマット済みテキスト出力を、データベース SAMPLE にある未フォーマット・イベント表 lockevmon から取得する場合には、以下のコマンドを発行します。$ java db2evmonfmt -d sample -ue lockevmon -ftext -id 1
- 取得した情報の見方
出力されたレポートから以下のことが分かります。
2012-06-06-23.07.08.993785 にロック・タイムアウトが発生しています。------------------------------------------------------- Event ID : 1 Event Type : [LOCKTIMEOUT] Event Timestamp : [2012-06-06-23.07.08.993785] Partition of detection : 0 -------------------------------------------------------
ロック・タイムアウトは、V97FP5.ORG 表への行ロックの競合で発生しています。
X ロックが取得されていましたが、X ロックとは互換性のない NS ロックが要求されたため、要求したアプリケーションはロック待ちとなり、最終的にタイムアウトとなりました。Participant No 1 requesting lock ---------------------------------- Lock Name : 0x0002000E000000000000000A52 Lock wait start time : 2012-06-06-23.07.08.993767 Lock wait end time : 2012-06-06-23.07.08.993785 Lock Type : [ROW] Lock Specifics : ROWID=10,DATA_PARTITION_ID=0,PAGEID=0 Lock Attributes : 00000000 Lock mode requested : [Share (CS/RS)] Lock mode held : [Exclusive] Lock Count : 1 Lock Hold Count : 0 Lock rrIID : 0 Lock Status : Waiting Lock release flags : 40000000 Tablespace TID : 2 Tablespace Name : USERSPACE1 Table FID : 14 Table Schema : [V97FP5] Table Name : [ORG]
ロックを保持していた Participant No 2 のアプリケーション名は db2bp で、ローカル接続のアプリケーションです。db2bp は、コマンド行プロセッサー(CLP) におけるバックエンド・プロセスです。アプリケーションの状態は UOW Waiting のため、ロックを保持したままコミットが発行されず、待機している状況です。
ロックを要求していた Participant No 1 のアプリケーション名は db2jcc_application で、Java アプリケーションです。アプリケーション ID から接続元アプリケーションの IP アドレスが 192.168.11.3 であることを確認できます。ロック・イベント・モニターの出力では、ロックの要求側はロック待ちになる前のアプリケーション・ステータスが報告されるため、 Participant No 1 のアプリケーションの状態は、UOW Executing として報告されます。Attributes [Requester] [Owner] --------------------- ------------------------------ ------------------------------ Participant No 1 2 Application Handle 0115 093 Application ID [192.168.11.3.40239.1206061407] [*LOCAL.v97fp5.120606140356] Application Name [db2jcc_application] [db2bp] Authentication ID V97FP5 V97FP5 Requesting AgentID 10939 11394 Coordinating AgentID 10939 11394 Agent Status UOW Executing UOW Waiting Application Action No action No action Lock timeout value 0 0 Lock wait value 10000 0 Workload ID 1 1 Workload Name SYSDEFAULTUSERWORKLOAD SYSDEFAULTUSERWORKLOAD Service subclass ID 13 13 Service subclass SYSDEFAULTSUBCLASS SYSDEFAULTSUBCLASS Current Request Open Cursor Execute Immediate TEntry state 1 2 TEntry flags1 00000000 00000000 TEntry flags2 00000200 00000200 Lock escalation no no Client userid Client wrkstnname lockevent.xxx.com Client applname Client acctng
ロックを要求しているアプリケーションでは、"select * from ORG" のステートメントが実行されていました。
ロックを保持しているアプリケーションは SQL などを実行せず待機中ですが、トランザクションの中では "update ORG set MANAGER=80 where DEPTNUMB=66" がコミットされておらず、行に X ロックが取得されています。Current Activities of Participant No 1 ---------------------------------------- Activity ID : 1 Uow ID : 1 Package Name : SYSSH200 Package Schema : NULLID Package Version : Package Token : SYSLVL01 Package Sectno : 1 Reopt value : none Incremental Bind : no Eff isolation : CS Eff degree : 0 Eff locktimeout : 0 Stmt first use : 2012-06-06-23.07.08.993661 Stmt last use : 2012-06-06-23.07.08.993661 Stmt unicode : no Stmt query ID : 0 Stmt nesting level : 0 Stmt invocation ID : 0 Stmt source ID : 0 Stmt pkgcache ID : 4322951168 Stmt type : [Dynamic] Stmt operation : [DML, Select (blockable)] Stmt text : [select * from ORG] Past Activities of Participant No 1 ------------------------------------- Activities not available
Current Activities of Participant No 2 ---------------------------------------- Activities not available Past Activities of Participant No 2 ------------------------------------- Past Activities wrapped: no Activity ID : 1 Uow ID : 3 Package Name : SQLC2H22 Package Schema : NULLID Package Version : Package Token : AAAAAFDb Package Sectno : 203 Reopt value : none Incremental Bind : no Eff isolation : CS Eff degree : 0 Eff locktimeout : 0 Stmt first use : 2012-06-06-23.07.07.685762 Stmt last use : 2012-06-06-23.07.07.685762 Stmt unicode : no Stmt query ID : 0 Stmt nesting level : 0 Stmt invocation ID : 0 Stmt source ID : 0 Stmt pkgcache ID : 4328259584 Stmt type : [Dynamic] Stmt operation : [DML, Insert/Update/Delete] Stmt text : [update ORG set MANAGER=80 where DEPTNUMB=66]
- 管理通知ログおよび db2diag.log
管理通知ログおよび db2diag.log に簡易的なロック・タイムアウトのイベントを記録できます。詳細は以下のページを参照してください。
[Db2] ロック・タイムアウトまたはデッドロックを db2diag.log に記録する方法
EVMON_FORMAT_UE_TO_XML 表関数 - 不定形式イベントを XML に変換する
イベント・モニター・データ読み取り用の db2evmonfmt ツール
[Db2] パスポート・アドバンテージによく寄せられる質問
[Db2] ロック・イベント・モニターの設定方法
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと 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"},{"code":"a8m500000008PmMAAU","label":"Performance-\u003ELocks"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
02 November 2023
UID
swg21599266