デッドロック追跡



現在  S  U  X
S    ○ ○ ×
U    ○ × ×
X    × × ×


DB2のパフォーマンス問題判別のページ
セクション5が、Locking - lock waits, timeouts, escalations and deadlocksに手順がのっている。

http://www-3.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/tutorial_performance.d2w/sec5sub3


今回はログイン時のselect文

    SELECT US1.KNJ_FST_NM,US1.KNJ_LST_NM,US1.KANA_NM,US1.SYAIN_KBN,US1.CMP_CD,US1.CMP_NM,US1.SGY_TYP,US1.SYUKO_SAKI_NM,US1.MAIL_ADDR,US1.KNM_FLG,US2.KNM_NO,US1.PRE_LOGIN_DTE,US2.TEN_CD,US2.KAS_CD,US2.SSK_KNR_CD,US2.TEN_KNJ_NM,US2.BU_KNJ_NM,US2.GRP_KNJ_NM,US2.YAKU_CD,US2.YAKU_NM FROM N5TSA0001 US1,N5TSA0002 US2 WHERE US1.USR_ID = 'T9900002' AND US1.STR_YMD <= DATE('2003-06-25') AND US1.END_YMD >= DATE('2003-06-25') AND US1.SSK_KBN = '0' AND US2.KNM_NO = '0' AND US1.USR_ID = US2.USR_ID AND US1.STR_YMD = US2.STR_YMD 

単発のupdate文

 UPDATE N5TSA0001 SET PRE_LOGIN_DTE = '20030625114345' WHERE USR_ID = 'T9900002' AND STR_YMD <= '2003-06-25' AND END_YMD >= '2003-06-25' 



結局

2003-06-26 *15:47:53,378 *ZEUS2 *mynode *34544596 * *[N] *SELECT US1.KNJ_FST_NM,US1.KNJ_LST_NM,
US1.KANA_NM,US1.SYAIN_KBN,US1.CMP_CD,US1.CMP_NM,US1.SGY_TYP,US1.SYUKO_SAKI_NM,US1.MAIL_ADDR,US1
.KNM_FLG,US2.KNM_NO,US1.PRE_LOGIN_DTE,US2.TEN_CD,US2.KAS_CD,US2.SSK_KNR_CD,US2.TEN_KNJ_NM,US2.B
U_KNJ_NM,US2.GRP_KNJ_NM,US2.YAKU_CD,US2.YAKU_NM FROM N5TSA0001 US1,N5TSA0002 US2 WHERE US1.USR_
ID = 'T2222222' AND US1.STR_YMD <= DATE('2003-06-26') AND US1.END_YMD >= DATE('2003-06-26') AND
 US1.SSK_KBN = '0' AND US2.KNM_NO = '0' AND US1.USR_ID = US2.USR_ID AND US1.STR_YMD = US2.STR_Y
MD WITH UR

2003-06-26 *15:47:53,386 *ZEUS2 *mynode *34544596 * *[N] *SELECT DB_JYOSU_CD,DB_KBT_CD,DB_KUMI_
SU,DB_FROM_YMD_DTE,DB_TO_YMD_DTE,DB_TRK_YMD_DTE,DB_UPD_TS,DB_UPD_CNT_SU,DB_UPD_USER_CD,DB_UKO_I
TM_SU,DB_DATA_1_ITM,DB_DATA_2_ITM,DB_DATA_3_ITM,DB_DATA_4_ITM,DB_DATA_5_ITM,DB_DATA_6_ITM,DB_DA
TA_7_ITM,DB_DATA_8_ITM,DB_DATA_9_ITM,DB_DATA_10_ITM,DB_DATA_11_ITM,DB_DATA_12_ITM,DB_DATA_13_IT
M,DB_DATA_14_ITM,DB_DATA_15_ITM FROM N5TZJYOSU WHERE DB_JYOSU_CD = '5S03' AND DB_KBT_CD = '5215
231' AND DB_KUMI_SU = 0 AND DB_FROM_YMD_DTE <= '20030626' AND DB_TO_YMD_DTE >= '20030626'
2003-06-26 *15:47:53,391 *ZEUS2 *mynode *34544596 * *[N] * SELECT STR_YMD  FROM N5TSA0001  WHER
E USR_ID = 'T2222222' AND STR_YMD <= '2003-06-26' AND END_YMD >= '2003-06-26' FOR UPDATE WITH R
S

2003-06-26 *15:47:53,395 *ZEUS2 *mynode *34544596 * *[N] *UPDATE N5TSA0001 SET PRE_LOGIN_DTE =
'20030626154753' WHERE USR_ID = 'T2222222' AND STR_YMD = '2003-01-01'

SELECT WITH URでダーティリード
SELECT FOR UPDATE
UPDATE

で回避したらしい。






db2のコマンドプロセッサーで
UPDATE N5TSA0001 WHERE USR_ID = 'T9900002'
を行って
別のウィンドウで
SELECT .. WHERE US1.USR_ID = 'T9900002' 文を実行すると
次のSELECT文はUPDATEのウィンドウがコミットするまで
待たされる。


そのときのロックを表示すると
UPDATEが行にXロックを取得していて
SELECTがその行にNSロックを要求して止まっているのがわかる。





@今のモニタースイッチを表示する
db2 => get monitor switches

            モニター記録スイッチ

DB (データベース) パーティション番号のスイッチ・リスト      0
バッファー・プール活動情報               (BUFFERPOOL) = OFF
ロック情報                                 (LOCK)     = OFF
ソート情報                                 (SORT)     = OFF
SQL ステートメント情報                    (STATEMENT) = OFF
表活動情報                                (TABLE)     = OFF
タイム・スタンプ情報を取る                     (TIMESTAMP) = ON  05/27/2003 15:1
6:45.014348
作業単位情報                                    (UOW) = OFF

@ロックのモニターをオンにする。
db2 => update monitor switches using lock on
DB20000I  UPDATE MONITOR SWITCHES コマンドが正常に終了しました。
@ステートメントのモニターをオンにする。
db2 => update monitor switches using statement  on
DB20000I  UPDATE MONITOR SWITCHES コマンドが正常に終了しました。
@表のモニターをオンにする。
db2 => update monitor switches using table  on
DB20000I  UPDATE MONITOR SWITCHES コマンドが正常に終了しました。
db2 => get snapshot for applications on zeus2_07

            アプリケーション・スナップショット

アプリケーション・ハンドル                                 = 4
アプリケーション状況                                       = 接続完了
状況変更時刻                                               = 収集されませんでし
た
アプリケーション・コード・ページ                           = 943
アプリケーション国 / 領域別コード                          = 0
DUOW 相関トークン                                          = GA656D74.OE06.00B4C
6012421
アプリケーション名                                         = db2bp.exe
アプリケーション ID                                        = GA656D74.OE06.00B4C
6012421
シーケンス番号                                             = 0001
TP モニター・クライアント・ユーザー ID                       =
TP モニター・クライアント・ワークステーション名              =
TP モニター・クライアント・アプリケーション名                =
TP モニター・クライアント・アカウンティング・ストリング      =

接続要求開始タイム・スタンプ                               = 06/26/2003 10:20:58
.022126
接続要求完了タイム・スタンプ                               = 06/26/2003 10:20:58
.022263
アプリケーション・アイドル時間                             = 0
許可 ID                                                    = SCS
クライアント・ログイン ID                                  = U99916AM
クライアント構成名                                         =
クライアント・データベース・マネージャー製品 ID            = SQL08010
クライアント・アプリケーションの処理 ID                    = 1512
クライアント・アプリケーションのプラットフォーム           = NT
クライアントの通信プロトコル                               = TCP/IP

インバウンド通信アドレス                                  = 10.101.109.116 3635
8

データベース名                                             = ZEUS2_07
データベース・パス                                         = D:\DB2\NODE0000\SQL
00010\
クライアント・データベース別名                             = ZEUS2_07
入力データベース別名                                       = ZEUS2_07
最後のリセット・タイム・スタンプ                           =
スナップショット・タイム・スタンプ                         = 06/26/2003 10:21:05
.156770
認可された最高権限レベル                                   =
                直接 DBADM 権限
                直接 CREATETAB 権限
                直接 BINDADD 権限
                直接 CONNECT 権限
                直接 CREATE_NOT_FENC 権限
                直接 LOAD 権限
                直接 IMPLICIT_SCHEMA 権限
                間接 SYSADM 権限
                間接 SYSCTRL 権限
                間接 SYSMAINT 権限
                間接 CREATETAB 権限
                間接 BINDADD 権限
                間接 CONNECT 権限
                間接 IMPLICIT_SCHEMA 権限
調整データベース・パーティション番号                       = 0
現行データベース・パーティション番号                       = 0
コーディネーター・エージェント・プロセスまたはスレッド ID  = 2012
エージェント・スチール                                     = 0
ロック上で待機するエージェント                             = 0
最大関連エージェント                                       = 1
アプリケーション・エージェント作業の優先順位               = 0
優先順位タイプ                                             = 動的

アプリケーションで保留されたロック                         = 0
接続からのロック待機                                       = 0
ロック上で待機している時間アプリケーション (ms)            = 0
デッドロック検出                                           = 0
ロック・エスカレーション                                   = 0
排他ロック・エスカレーション                               = 0
接続後のロック・タイムアウト数                             = 0
ロック上で待機している合計時間 UOW (ms)                    = 収集されませんでし
た

ソートの合計                                               = 0
ソート時間の合計 (ms)                                      = 収集されませんでし
た
合計ソート・オーバーフロー                                 = 0

拡張ストレージにコピーされたデータ・ページ                 = 収集されませんでし
た
拡張ストレージにコピーされた索引ページ                     = 収集されませんでし
た
拡張ストレージからコピーされたデータ・ページ               = 収集されませんでし
た
拡張ストレージからコピーされた索引ページ                   = 収集されませんでし
た
バッファー・プール・データ論理読み取り                     = 収集されませんでし
た
バッファー・プール・データ物理読み取り                     = 収集されませんでし
た
バッファー・プール・データ書き込み                         = 収集されませんでし
た
バッファー・プール索引論理読み取り                         = 収集されませんでし
た
バッファー・プール索引物理読み取り                         = 収集されませんでし
た
バッファー・プール索引書き込み                             = 収集されませんでし
た
バッファー・プール読み取り時間の合計 (ms)                  = 収集されませんでし
た
バッファー・プール書き込み時間の合計 (ms)                  = 収集されませんでし
た
プリフェッチ待機時間 (ms)                                  = 収集されませんでし
た
直接読み取り                                               = 収集されませんでし
た
直接読み取り                                               = 収集されませんでし
た
直接書き込み                                               = 収集されませんでし
た
直接読み取り要求                                           = 収集されませんでし
た
直接書き込み要求                                           = 収集されませんでし
た
直接読み取り経過時間 (ms)                                  = 収集されませんでし
た
直接書き込み経過時間 (ms)                                  = 収集されませんでし
た

最終コミット後の SQL 要求数                                = 0
コミット・ステートメント                                   = 0
ロールバック・ステートメント                               = 0
動的 SQL ステートメント試行                                = 0
静的 SQL ステートメント試行                                = 0
失敗したステートメント操作                                 = 0
Select SQL ステートメント実行                              = 0
Update/Insert/Delete ステートメント実行                    = 0
DDL ステートメント実行                                     = 0
内部自動再バインド                                         = 0
内部行削除                                                 = 0
内部挿入行                                                 = 0
内部行更新                                                 = 0
内部コミット                                               = 1
内部ロールバック                                           = 0
デッドロックによる内部ロールバック                         = 0
バインド / プリコンパイル試行                              = 0
削除行数                                                   = 0
挿入行数                                                   = 0
更新行数                                                   = 0
選択行数                                                   = 0
読み取り行数                                               = 0
書き込み行数                                               = 0

UOW 使用ログ・スペース (バイト)                            = 収集されませんでし
た
直前の UOW 完了タイム・スタンプ                            = 収集されませんでし
た
最後に完了した uow の経過時間 (sec.ms)                       = 収集されませんで
した
UOW 開始タイム・スタンプ                                   = 収集されませんでし
た
UOW 停止タイム・スタンプ                                   = 収集されませんでし
た
UOW 完了状況                                               = 収集されませんでし
た

オープン・リモート・カーソル                               = 0
ブロッキングによるオープン・リモート・カーソル             = 0
拒否されたブロック・リモート・カーソル要求                 = 0
受け入れられたブロック・リモート・カーソル要求             = 0
オープン・ローカル・カーソル                               = 0
ブロッキングによるオープン・ローカル・カーソル             = 0
エージェントによって使用される合計ユーザー CPU 時間 (s)    = 0.000000
エージェントによって使用される合計システム CPU 時間 (s)    = 0.000000
ホスト実行経過時間                                         = 0.000000

パッケージ・キャッシュ検索                                 = 0
パッケージ・キャッシュ挿入                                 = 0
アプリケーション・セクション検索                           = 0
アプリケーション・セクション挿入                           = 0
カタログ・キャッシュ検索                                   = 3
カタログ・キャッシュ挿入                                   = 0
カタログ・キャッシュ・オーバーフロー                       = 0
カタログ・キャッシュの最高水準点                                        = 0

@@@@@@@@@@@@@@@
@こっちがSELECTしてる方の情報
ワークスペース情報

 共有最高水準点                            = 0
 共有オーバーフローの合計                  = 0
 共有セクション挿入の合計                  = 0
 共有セクション・ルックアップの合計        = 0
 専用最高水準点                            = 0
 専用オーバーフローの合計                  = 0
 専用セクション挿入の合計                  = 1
 専用セクション・ルックアップの合計        = 4

最新の操作                                                 = フェッチ
カーソル名                                                 = SQLCUR201
最新の操作開始タイム・スタンプ                             = 06/26/2003 10:20:27
.605401
最新の操作停止タイム・スタンプ                             =
アプリケーションに関連したエージェント                     = 1
ハッシュ結合数                                             = 0
ハッシュ・ループ数                                         = 0
ハッシュ結合オーバーフロー数                               = 0
短精度ハッシュ結合オーバーフロー数                         = 0

ステートメント・タイプ                                          = 動的 SQL ステ
ートメント
ステートメント                                                  = フェッチ
セクション数                                                    = 201
アプリケーション作成者                                          = NULLID
パッケージ名                                                    = SQLC2E03
整合性トークン                                                  = AAAAAJHR
パッケージ・バージョン ID                                       =
カーソル名                                                      = SQLCUR201
ステートメント・データベース・パーティション番号                = 0
ステートメント開始タイム・スタンプ                              = 06/26/2003 10:
20:27.605401
ステートメント停止タイム・スタンプ                              =
最後に完了した stmt の経過時間 (sec.ms)                      = 0.000032
合計ユーザー CPU 時間                                           = 0.000000
合計システム CPU 時間                                           = 0.000000
timeron 時の SQL コンパイラー・コスト見積もり                   = 31
SQL コンパイラー・カーディナリティー見積もり                    = 1
要求された並列処理の度合い                                      = 1
ステートメント上で作動しているエージェント数                    = 1
ステートメント用に作成されたサブエージェントの数                = 1
ステートメント・ソート                                          = 0
合計ソート時間                                                  = 0
ソート・オーバーフロー                                          = 0
読み取り行数                                                    = 1
書き込み行数                                                    = 0
削除行数                                                        = 0
更新行数                                                        = 0
挿入行数                                                        = 0
フェッチ行数                                                    = 0
ブロック・カーソル                                         = NO
動的 SQL ステートメント・テキスト :
SELECT US1.KNJ_FST_NM,US1.KNJ_LST_NM,US1.KANA_NM,US1.SYAIN_KBN,US1.CMP_CD,US1.CM
P_NM,US1.SGY_TYP,US1.SYUKO_SAKI_NM,US1.MAIL_ADDR,US1.KNM_FLG,US2.KNM_NO,US1.PRE_
LOGIN_DTE,US2.TEN_CD,US2.KAS_CD,US2.SSK_KNR_CD,US2.TEN_KNJ_NM,US2.BU_KNJ_NM,US2.
GRP_KNJ_NM,US2.YAKU_CD,US2.YAKU_NM FROM N5TSA0001 US1,N5TSA0002 US2 WHERE US1.US
R_ID = 'T9900002' AND US1.STR_YMD <= DATE('2003-06-25') AND US1.END_YMD >= DATE(
'2003-06-25') AND US1.SSK_KBN = '0' AND US2.KNM_NO = '0' AND US1.USR_ID = US2.US
R_ID AND US1.STR_YMD = US2.STR_YMD

    エージェント処理/スレッド ID                                    = 3000

アプリケーションのメモリー使用量:

    ロック待ちのサブセクション                             = 0
    ロック保留中エージェント ID                            = 331
    ロック保留中のアプリケーション ID                      = GA656DF1.KD04.00E10
6003237
  ロック名                                                 = 0x02000400128700000
000000052
  ロック属性                                               = 0x00000000
  リリース・フラグ                                         = 0x00000008
    ロック・オブジェクト・タイプ                           = 行
    ロック・モード                                         = 排他ロック (X)
    要求ロック・モード                                     = 次キー共有 (NS)
    ロック保留中の表スペース名                             = USERSPACE1
    ロック保留中の表スキーマ                               = SCS
    ロック保留中の表名                                     = N5TSA0001
    ロック待機開始タイム・スタンプ                         = 06/26/2003 10:20:27
.605932

            アプリケーション・スナップショット

アプリケーション・ハンドル                                 = 331
アプリケーション状況                                       = UOW 待機中
状況変更時刻                                               = 収集されませんでし
た
アプリケーション・コード・ページ                           = 943
アプリケーション国 / 領域別コード                          = 81
DUOW 相関トークン                                          = GA656DF1.KD04.00E10
6003237
アプリケーション名                                         = db2bp.exe
アプリケーション ID                                        = GA656DF1.KD04.00E10
6003237
シーケンス番号                                             = 0003
TP モニター・クライアント・ユーザー ID                       =
TP モニター・クライアント・ワークステーション名              =
TP モニター・クライアント・アプリケーション名                =
TP モニター・クライアント・アカウンティング・ストリング      =

接続要求開始タイム・スタンプ                               = 06/26/2003 09:37:29
.146780
接続要求完了タイム・スタンプ                               = 06/26/2003 09:37:29
.146918
アプリケーション・アイドル時間                             = 42
許可 ID                                                    = SCS
クライアント・ログイン ID                                  = UGYA
クライアント構成名                                         =
クライアント・データベース・マネージャー製品 ID            = SQL08010
クライアント・アプリケーションの処理 ID                    = 2044
クライアント・アプリケーションのプラットフォーム           = NT
クライアントの通信プロトコル                               = TCP/IP

インバウンド通信アドレス                                  = 10.101.109.241 1971
6

データベース名                                             = ZEUS2_07
データベース・パス                                         = D:\DB2\NODE0000\SQL
00010\
クライアント・データベース別名                             = ZEUS2_07
入力データベース別名                                       = ZEUS2_07
最後のリセット・タイム・スタンプ                           =
スナップショット・タイム・スタンプ                         = 06/26/2003 10:21:05
.156770
認可された最高権限レベル                                   =
                直接 DBADM 権限
                直接 CREATETAB 権限
                直接 BINDADD 権限
                直接 CONNECT 権限
                直接 CREATE_NOT_FENC 権限
                直接 LOAD 権限
                直接 IMPLICIT_SCHEMA 権限
                間接 SYSADM 権限
                間接 SYSCTRL 権限
                間接 SYSMAINT 権限
                間接 CREATETAB 権限
                間接 BINDADD 権限
                間接 CONNECT 権限
                間接 IMPLICIT_SCHEMA 権限
調整データベース・パーティション番号                       = 0
現行データベース・パーティション番号                       = 0
コーディネーター・エージェント・プロセスまたはスレッド ID  = 552
エージェント・スチール                                     = 0
ロック上で待機するエージェント                             = 0
最大関連エージェント                                       = 1
アプリケーション・エージェント作業の優先順位               = 0
優先順位タイプ                                             = 動的

アプリケーションで保留されたロック                         = 3
接続からのロック待機                                       = 0
ロック上で待機している時間アプリケーション (ms)            = 0
デッドロック検出                                           = 0
ロック・エスカレーション                                   = 0
排他ロック・エスカレーション                               = 0
接続後のロック・タイムアウト数                             = 0
ロック上で待機している合計時間 UOW (ms)                    = 収集されませんでし
た

ソートの合計                                               = 0
ソート時間の合計 (ms)                                      = 収集されませんでし
た
合計ソート・オーバーフロー                                 = 0

拡張ストレージにコピーされたデータ・ページ                 = 収集されませんでし
た
拡張ストレージにコピーされた索引ページ                     = 収集されませんでし
た
拡張ストレージからコピーされたデータ・ページ               = 収集されませんでし
た
拡張ストレージからコピーされた索引ページ                   = 収集されませんでし
た
バッファー・プール・データ論理読み取り                     = 収集されませんでし
た
バッファー・プール・データ物理読み取り                     = 収集されませんでし
た
バッファー・プール・データ書き込み                         = 収集されませんでし
た
バッファー・プール索引論理読み取り                         = 収集されませんでし
た
バッファー・プール索引物理読み取り                         = 収集されませんでし
た
バッファー・プール索引書き込み                             = 収集されませんでし
た
バッファー・プール読み取り時間の合計 (ms)                  = 収集されませんでし
た
バッファー・プール書き込み時間の合計 (ms)                  = 収集されませんでし
た
プリフェッチ待機時間 (ms)                                  = 収集されませんでし
た
直接読み取り                                               = 収集されませんでし
た
直接読み取り                                               = 収集されませんでし
た
直接書き込み                                               = 収集されませんでし
た
直接読み取り要求                                           = 収集されませんでし
た
直接書き込み要求                                           = 収集されませんでし
た
直接読み取り経過時間 (ms)                                  = 収集されませんでし
た
直接書き込み経過時間 (ms)                                  = 収集されませんでし
た

最終コミット後の SQL 要求数                                = 5
コミット・ステートメント                                   = 2
ロールバック・ステートメント                               = 0
動的 SQL ステートメント試行                                = 12
静的 SQL ステートメント試行                                = 2
失敗したステートメント操作                                 = 0
Select SQL ステートメント実行                              = 2
Update/Insert/Delete ステートメント実行                    = 3
DDL ステートメント実行                                     = 0
内部自動再バインド                                         = 0
内部行削除                                                 = 0
内部挿入行                                                 = 0
内部行更新                                                 = 0
内部コミット                                               = 1
内部ロールバック                                           = 0
デッドロックによる内部ロールバック                         = 0
バインド / プリコンパイル試行                              = 0
削除行数                                                   = 0
挿入行数                                                   = 0
更新行数                                                   = 3
選択行数                                                   = 2
読み取り行数                                               = 10
書き込み行数                                               = 1

UOW 使用ログ・スペース (バイト)                            = 収集されませんでし
た
直前の UOW 完了タイム・スタンプ                            = 収集されませんでし
た
最後に完了した uow の経過時間 (sec.ms)                       = 収集されませんで
した
UOW 開始タイム・スタンプ                                   = 収集されませんでし
た
UOW 停止タイム・スタンプ                                   = 収集されませんでし
た
UOW 完了状況                                               = 収集されませんでし
た

オープン・リモート・カーソル                               = 0
ブロッキングによるオープン・リモート・カーソル             = 0
拒否されたブロック・リモート・カーソル要求                 = 0
受け入れられたブロック・リモート・カーソル要求             = 2
オープン・ローカル・カーソル                               = 0
ブロッキングによるオープン・ローカル・カーソル             = 0
エージェントによって使用される合計ユーザー CPU 時間 (s)    = 0.015625
エージェントによって使用される合計システム CPU 時間 (s)    = 0.000000
ホスト実行経過時間                                         = 0.000154

パッケージ・キャッシュ検索                                 = 6
パッケージ・キャッシュ挿入                                 = 2
アプリケーション・セクション検索                           = 12
アプリケーション・セクション挿入                           = 2
カタログ・キャッシュ検索                                   = 12
カタログ・キャッシュ挿入                                   = 0
カタログ・キャッシュ・オーバーフロー                       = 0
カタログ・キャッシュの最高水準点                                        = 0

@@@@@@@@@@@@@@
@ここからUPDATEのほうの状況
ワークスペース情報

 共有最高水準点                            = 0
 共有オーバーフローの合計                  = 0
 共有セクション挿入の合計                  = 0
 共有セクション・ルックアップの合計        = 0
 専用最高水準点                            = 0
 専用オーバーフローの合計                  = 0
 専用セクション挿入の合計                  = 2
 専用セクション・ルックアップの合計        = 5

最新の操作                                                 = 即時に実行
最新の操作開始タイム・スタンプ                             = 06/26/2003 10:20:23
.974642
最新の操作停止タイム・スタンプ                             = 06/26/2003 10:20:23
.974796
アプリケーションに関連したエージェント                     = 1
ハッシュ結合数                                             = 0
ハッシュ・ループ数                                         = 0
ハッシュ結合オーバーフロー数                               = 0
短精度ハッシュ結合オーバーフロー数                         = 0
ステートメント・タイプ                                          = 動的 SQL ステ
ートメント
ステートメント                                                  = 即時に実行
セクション数                                                    = 203
アプリケーション作成者                                          = NULLID
パッケージ名                                                    = SQLC2E03
整合性トークン                                                  = AAAAAJHR
パッケージ・バージョン ID                                       =
カーソル名                                                      =
ステートメント・データベース・パーティション番号                = 0
ステートメント開始タイム・スタンプ                              = 06/26/2003 10:
20:23.974642
ステートメント停止タイム・スタンプ                              = 06/26/2003 10:
20:23.974796
最後に完了した stmt の経過時間 (sec.ms)                      = 0.000154
合計ユーザー CPU 時間                                           = 0.000000
合計システム CPU 時間                                           = 0.000000
timeron 時の SQL コンパイラー・コスト見積もり                   = 118
SQL コンパイラー・カーディナリティー見積もり                    = 2
要求された並列処理の度合い                                      = 1
ステートメント上で作動しているエージェント数                    = 0
ステートメント用に作成されたサブエージェントの数                = 1
ステートメント・ソート                                          = 0
合計ソート時間                                                  = 0
ソート・オーバーフロー                                          = 0
読み取り行数                                                    = 2
書き込み行数                                                    = 0
削除行数                                                        = 0
更新行数                                                        = 0
挿入行数                                                        = 0
フェッチ行数                                                    = 0
ブロック・カーソル                                         = NO
動的 SQL ステートメント・テキスト :
UPDATE N5TSA0001 SET PRE_LOGIN_DTE = '20030625114345' WHERE USR_ID = 'T9900002'
AND STR_YMD <= '2003-06-25' AND END_YMD >= '2003-06-25'


アプリケーションのメモリー使用量:

            アプリケーション・スナップショット

アプリケーション・ハンドル                                 = 151
アプリケーション状況                                       = UOW 待機中
状況変更時刻                                               = 収集されませんでし
た
アプリケーション・コード・ページ                           = 1208
アプリケーション国 / 領域別コード                          = 81
DUOW 相関トークン                                          = GA656D98.P60C.00FD8
5013654
アプリケーション名                                         = java.exe
アプリケーション ID                                        = GA656D98.P60C.00FD8
5013654
シーケンス番号                                             = 0210
TP モニター・クライアント・ユーザー ID                       =
TP モニター・クライアント・ワークステーション名              =
TP モニター・クライアント・アプリケーション名                =
TP モニター・クライアント・アカウンティング・ストリング      =

接続要求開始タイム・スタンプ                               = 06/25/2003 10:40:46
.646740
接続要求完了タイム・スタンプ                               = 06/25/2003 10:40:46
.646886
アプリケーション・アイドル時間                             = 0
許可 ID                                                    = SCS
クライアント・ログイン ID                                  = ADMINISTRATOR
クライアント構成名                                         =
クライアント・データベース・マネージャー製品 ID            = SQL08010
クライアント・アプリケーションの処理 ID                    = 2016
クライアント・アプリケーションのプラットフォーム           = NT
クライアントの通信プロトコル                               = TCP/IP

インバウンド通信アドレス                                  = 10.101.109.152 3841
2

データベース名                                             = ZEUS2_07
データベース・パス                                         = D:\DB2\NODE0000\SQL
00010\
クライアント・データベース別名                             = ZEUS2_07
入力データベース別名                                       = ZEUS2_07
最後のリセット・タイム・スタンプ                           =
スナップショット・タイム・スタンプ                         = 06/26/2003 10:21:05
.156770
認可された最高権限レベル                                   =
                直接 DBADM 権限
                直接 CREATETAB 権限
                直接 BINDADD 権限
                直接 CONNECT 権限
                直接 CREATE_NOT_FENC 権限
                直接 LOAD 権限
                直接 IMPLICIT_SCHEMA 権限
                間接 SYSADM 権限
                間接 SYSCTRL 権限
                間接 SYSMAINT 権限
                間接 CREATETAB 権限
                間接 BINDADD 権限
                間接 CONNECT 権限
                間接 IMPLICIT_SCHEMA 権限
調整データベース・パーティション番号                       = 0
現行データベース・パーティション番号                       = 0
コーディネーター・エージェント・プロセスまたはスレッド ID  = 3056
エージェント・スチール                                     = 0
ロック上で待機するエージェント                             = 0
最大関連エージェント                                       = 1
アプリケーション・エージェント作業の優先順位               = 0
優先順位タイプ                                             = 動的

アプリケーションで保留されたロック                         = 0
接続からのロック待機                                       = 0
ロック上で待機している時間アプリケーション (ms)            = 0
デッドロック検出                                           = 0
ロック・エスカレーション                                   = 35
排他ロック・エスカレーション                               = 0
接続後のロック・タイムアウト数                             = 0
ロック上で待機している合計時間 UOW (ms)                    = 収集されませんでし
た

ソートの合計                                               = 598
ソート時間の合計 (ms)                                      = 収集されませんでし
た
合計ソート・オーバーフロー                                 = 14

拡張ストレージにコピーされたデータ・ページ                 = 収集されませんでし
た
拡張ストレージにコピーされた索引ページ                     = 収集されませんでし
た
拡張ストレージからコピーされたデータ・ページ               = 収集されませんでし
た
拡張ストレージからコピーされた索引ページ                   = 収集されませんでし
た
バッファー・プール・データ論理読み取り                     = 収集されませんでし
た
バッファー・プール・データ物理読み取り                     = 収集されませんでし
た
バッファー・プール・データ書き込み                         = 収集されませんでし
た
バッファー・プール索引論理読み取り                         = 収集されませんでし
た
バッファー・プール索引物理読み取り                         = 収集されませんでし
た
バッファー・プール索引書き込み                             = 収集されませんでし
た
バッファー・プール読み取り時間の合計 (ms)                  = 収集されませんでし
た
バッファー・プール書き込み時間の合計 (ms)                  = 収集されませんでし
た
プリフェッチ待機時間 (ms)                                  = 収集されませんでし
た
直接読み取り                                               = 収集されませんでし
た
直接読み取り                                               = 収集されませんでし
た
直接書き込み                                               = 収集されませんでし
た
直接読み取り要求                                           = 収集されませんでし
た
直接書き込み要求                                           = 収集されませんでし
た
直接読み取り経過時間 (ms)                                  = 収集されませんでし
た
直接書き込み経過時間 (ms)                                  = 収集されませんでし
た

最終コミット後の SQL 要求数                                = 0
コミット・ステートメント                                   = 494
ロールバック・ステートメント                               = 33
動的 SQL ステートメント試行                                = 5826
静的 SQL ステートメント試行                                = 527
失敗したステートメント操作                                 = 27
Select SQL ステートメント実行                              = 2875
Update/Insert/Delete ステートメント実行                    = 48
DDL ステートメント実行                                     = 0
内部自動再バインド                                         = 0
内部行削除                                                 = 0
内部挿入行                                                 = 0
内部行更新                                                 = 0
内部コミット                                               = 1
内部ロールバック                                           = 0
デッドロックによる内部ロールバック                         = 0
バインド / プリコンパイル試行                              = 0
削除行数                                                   = 8
挿入行数                                                   = 14
更新行数                                                   = 27
選択行数                                                   = 36068
読み取り行数                                               = 501020
書き込み行数                                               = 50760

UOW 使用ログ・スペース (バイト)                            = 収集されませんでし
た
直前の UOW 完了タイム・スタンプ                            = 収集されませんでし
た
最後に完了した uow の経過時間 (sec.ms)                       = 収集されませんで
した
UOW 開始タイム・スタンプ                                   = 収集されませんでし
た
UOW 停止タイム・スタンプ                                   = 収集されませんでし
た
UOW 完了状況                                               = 収集されませんでし
た

オープン・リモート・カーソル                               = 0
ブロッキングによるオープン・リモート・カーソル             = 0
拒否されたブロック・リモート・カーソル要求                 = 0
受け入れられたブロック・リモート・カーソル要求             = 2875
オープン・ローカル・カーソル                               = 0
ブロッキングによるオープン・ローカル・カーソル             = 0
エージェントによって使用される合計ユーザー CPU 時間 (s)    = 3.984375
エージェントによって使用される合計システム CPU 時間 (s)    = 0.687500
ホスト実行経過時間                                         = 0.000000

パッケージ・キャッシュ検索                                 = 2951
パッケージ・キャッシュ挿入                                 = 512
アプリケーション・セクション検索                           = 5826
アプリケーション・セクション挿入                           = 584
カタログ・キャッシュ検索                                   = 1394
カタログ・キャッシュ挿入                                   = 0
カタログ・キャッシュ・オーバーフロー                       = 0
カタログ・キャッシュの最高水準点                                        = 0



アプリケーションのメモリー使用量:
db2 =>
























ワークスペース情報

 共有最高水準点                            = 0
 共有オーバーフローの合計                  = 0
 共有セクション挿入の合計                  = 0
 共有セクション・ルックアップの合計        = 0
 専用最高水準点                            = 0
 専用オーバーフローの合計                  = 0
 専用セクション挿入の合計                  = 3
 専用セクション・ルックアップの合計        = 12

最新の操作                                                 = 即時に実行
最新の操作開始タイム・スタンプ                             = 06/26/2003 10:59:06
.629514
最新の操作停止タイム・スタンプ                             =
アプリケーションに関連したエージェント                     = 1
ハッシュ結合数                                             = 0
ハッシュ・ループ数                                         = 0
ハッシュ結合オーバーフロー数                               = 0
短精度ハッシュ結合オーバーフロー数                         = 0

ステートメント・タイプ                                          = 動的 SQL ステ
ートメント
ステートメント                                                  = 即時に実行
セクション数                                                    = 203
アプリケーション作成者                                          = NULLID
パッケージ名                                                    = SQLC2E03
整合性トークン                                                  = AAAAAJHR
パッケージ・バージョン ID                                       =
カーソル名                                                      =
ステートメント・データベース・パーティション番号                = 0
ステートメント開始タイム・スタンプ                              = 06/26/2003 10:
59:06.629514
ステートメント停止タイム・スタンプ                              =
最後に完了した stmt の経過時間 (sec.ms)                      = 0.000000
合計ユーザー CPU 時間                                           = 0.000000
合計システム CPU 時間                                           = 0.000000
timeron 時の SQL コンパイラー・コスト見積もり                   = 118
SQL コンパイラー・カーディナリティー見積もり                    = 2
要求された並列処理の度合い                                      = 1
ステートメント上で作動しているエージェント数                    = 1
ステートメント用に作成されたサブエージェントの数                = 1
ステートメント・ソート                                          = 0
合計ソート時間                                                  = 0
ソート・オーバーフロー                                          = 0
読み取り行数                                                    = 0
書き込み行数                                                    = 0
削除行数                                                        = 0
更新行数                                                        = 0
挿入行数                                                        = 0
フェッチ行数                                                    = 0
ブロック・カーソル                                         = NO
動的 SQL ステートメント・テキスト :
UPDATE N5TSA0001 SET PRE_LOGIN_DTE = '20030625114345' WHERE USR_ID = 'T9900002'
AND STR_YMD <= '2003-06-25' AND END_YMD >= '2003-06-25'

    エージェント処理/スレッド ID                                    = 3000

アプリケーションのメモリー使用量:

    ロック待ちのサブセクション                             = 0
    ロック保留中エージェント ID                            = 331
    ロック保留中のアプリケーション ID                      = GA656DF1.KD04.00E10
6003237
  ロック名                                                 = 0x02000400128700000
000000052
  ロック属性                                               = 0x00000000
  リリース・フラグ                                         = 0x40000000
    ロック・オブジェクト・タイプ                           = 行
    ロック・モード                                         = 排他ロック (X)
    要求ロック・モード                                     = 更新ロック (U)
    ロック保留中の表スペース名                             = USERSPACE1
    ロック保留中の表スキーマ                               = SCS
    ロック保留中の表名                                     = N5TSA0001
    ロック待機開始タイム・スタンプ                         = 06/26/2003 10:59:06
.629738

            アプリケーション・スナップショット

アプリケーション・ハンドル                                 = 331
アプリケーション状況                                       = UOW 待機中
状況変更時刻                                               = 収集されませんでし
た
アプリケーション・コード・ページ                           = 943
アプリケーション国 / 領域別コード                          = 81
DUOW 相関トークン                                          = GA656DF1.KD04.00E10
6003237
アプリケーション名                                         = db2bp.exe
アプリケーション ID                                        = GA656DF1.KD04.00E10
6003237
シーケンス番号                                             = 000a
TP モニター・クライアント・ユーザー ID                       =
TP モニター・クライアント・ワークステーション名              =
TP モニター・クライアント・アプリケーション名                =
TP モニター・クライアント・アカウンティング・ストリング      =

接続要求開始タイム・スタンプ                               = 06/26/2003 09:37:29
.146780
接続要求完了タイム・スタンプ                               = 06/26/2003 09:37:29
.146918
アプリケーション・アイドル時間                             = 38
許可 ID                                                    = SCS
クライアント・ログイン ID                                  = UGYA
クライアント構成名                                         =
クライアント・データベース・マネージャー製品 ID            = SQL08010
クライアント・アプリケーションの処理 ID                    = 2044
クライアント・アプリケーションのプラットフォーム           = NT
クライアントの通信プロトコル                               = TCP/IP

インバウンド通信アドレス                                  = 10.101.109.241 1971
6

データベース名                                             = ZEUS2_07
データベース・パス                                         = D:\DB2\NODE0000\SQL
00010\
クライアント・データベース別名                             = ZEUS2_07
入力データベース別名                                       = ZEUS2_07
最後のリセット・タイム・スタンプ                           =
スナップショット・タイム・スタンプ                         = 06/26/2003 10:59:41
.458168
認可された最高権限レベル                                   =
                直接 DBADM 権限
                直接 CREATETAB 権限
                直接 BINDADD 権限
                直接 CONNECT 権限
                直接 CREATE_NOT_FENC 権限
                直接 LOAD 権限
                直接 IMPLICIT_SCHEMA 権限
                間接 SYSADM 権限
                間接 SYSCTRL 権限
                間接 SYSMAINT 権限
                間接 CREATETAB 権限
                間接 BINDADD 権限
                間接 CONNECT 権限
                間接 IMPLICIT_SCHEMA 権限
調整データベース・パーティション番号                       = 0
現行データベース・パーティション番号                       = 0
コーディネーター・エージェント・プロセスまたはスレッド ID  = 552
エージェント・スチール                                     = 0
ロック上で待機するエージェント                             = 0
最大関連エージェント                                       = 1
アプリケーション・エージェント作業の優先順位               = 0
優先順位タイプ                                             = 動的

アプリケーションで保留されたロック                         = 3
接続からのロック待機                                       = 0
ロック上で待機している時間アプリケーション (ms)            = 0
デッドロック検出                                           = 0
ロック・エスカレーション                                   = 0
排他ロック・エスカレーション                               = 0
接続後のロック・タイムアウト数                             = 0
ロック上で待機している合計時間 UOW (ms)                    = 収集されませんでし
た

ソートの合計                                               = 0
ソート時間の合計 (ms)                                      = 収集されませんでし
た
合計ソート・オーバーフロー                                 = 0

拡張ストレージにコピーされたデータ・ページ                 = 収集されませんでし
た
拡張ストレージにコピーされた索引ページ                     = 収集されませんでし
た
拡張ストレージからコピーされたデータ・ページ               = 収集されませんでし
た
拡張ストレージからコピーされた索引ページ                   = 収集されませんでし
た
バッファー・プール・データ論理読み取り                     = 収集されませんでし
た
バッファー・プール・データ物理読み取り                     = 収集されませんでし
た
バッファー・プール・データ書き込み                         = 収集されませんでし
た
バッファー・プール索引論理読み取り                         = 収集されませんでし
た
バッファー・プール索引物理読み取り                         = 収集されませんでし
た
バッファー・プール索引書き込み                             = 収集されませんでし
た
バッファー・プール読み取り時間の合計 (ms)                  = 収集されませんでし
た
バッファー・プール書き込み時間の合計 (ms)                  = 収集されませんでし
た
プリフェッチ待機時間 (ms)                                  = 収集されませんでし
た
直接読み取り                                               = 収集されませんでし
た
直接読み取り                                               = 収集されませんでし
た
直接書き込み                                               = 収集されませんでし
た
直接読み取り要求                                           = 収集されませんでし
た
直接書き込み要求                                           = 収集されませんでし
た
直接読み取り経過時間 (ms)                                  = 収集されませんでし
た
直接書き込み経過時間 (ms)                                  = 収集されませんでし
た

最終コミット後の SQL 要求数                                = 5
コミット・ステートメント                                   = 9
ロールバック・ステートメント                               = 0
動的 SQL ステートメント試行                                = 39
静的 SQL ステートメント試行                                = 9
失敗したステートメント操作                                 = 1
Select SQL ステートメント実行                              = 7
Update/Insert/Delete ステートメント実行                    = 9
DDL ステートメント実行                                     = 0
内部自動再バインド                                         = 0
内部行削除                                                 = 0
内部挿入行                                                 = 0
内部行更新                                                 = 0
内部コミット                                               = 1
内部ロールバック                                           = 0
デッドロックによる内部ロールバック                         = 0
バインド / プリコンパイル試行                              = 0
削除行数                                                   = 0
挿入行数                                                   = 0
更新行数                                                   = 9
選択行数                                                   = 7
読み取り行数                                               = 32
書き込み行数                                               = 2

UOW 使用ログ・スペース (バイト)                            = 収集されませんでし
た
直前の UOW 完了タイム・スタンプ                            = 収集されませんでし
た
最後に完了した uow の経過時間 (sec.ms)                       = 収集されませんで
した
UOW 開始タイム・スタンプ                                   = 収集されませんでし
た
UOW 停止タイム・スタンプ                                   = 収集されませんでし
た
UOW 完了状況                                               = 収集されませんでし
た

オープン・リモート・カーソル                               = 0
ブロッキングによるオープン・リモート・カーソル             = 0
拒否されたブロック・リモート・カーソル要求                 = 0
受け入れられたブロック・リモート・カーソル要求             = 7
オープン・ローカル・カーソル                               = 0
ブロッキングによるオープン・ローカル・カーソル             = 0
エージェントによって使用される合計ユーザー CPU 時間 (s)    = 0.015625
エージェントによって使用される合計システム CPU 時間 (s)    = 0.000000
ホスト実行経過時間                                         = 0.000174

パッケージ・キャッシュ検索                                 = 18
パッケージ・キャッシュ挿入                                 = 3
アプリケーション・セクション検索                           = 39
アプリケーション・セクション挿入                           = 3
カタログ・キャッシュ検索                                   = 14
カタログ・キャッシュ挿入                                   = 0
カタログ・キャッシュ・オーバーフロー                       = 0
カタログ・キャッシュの最高水準点                                        = 0






















http://webdocs.caspur.it/ibm/web/udb-6.1/db2d0/c5lock.htm#HDRDEAD


Another problem can occur when an application with more than one independent process accessing the database is structured in such a way as to make deadlocks likely. An example is an application in which several processes access the same table for reads and then writes. If the processes do read-only SQL queries at first and then do SQL updates on the same table, the chances of deadlocks occurring increase because of potential contention between the processes for the same data.
 For instance, if two processes read the table, and then update the table, they get into a state where process A is trying to get an X lock on a row, on which process B has an S lock and vice versa. The result could be a deadlock. To avoid these deadlocks, applications that access data with the intention of modifying it should use the FOR UPDATE OF clause when performing a select. This clause ensures that a U lock is imposed when process A attempts to read the data. 

例えば、もし2つのプロセスが表を読んだあとに更新するとする。
AのプロセスはBのプロセスがSロックを取得している行に対してXロックを取得しようとし、逆の状態も発生する。
結果としてデッドロックが発生する。

このようなデッドロックを回避するために、アプリケーションは更新するつもりの行のselectを行うときは
 FOR UPDATE OF句を使うべきである。

 FOR UPDATE OF句はAのプロセスがデータを読むときにUロックをかけること保証する。



End of FILE.


2003/06/26 ugya@lycos.com