8.6.1 基本項目
pd_lck_deadlock_infoオペランドにYを指定している場合,デッドロック又はタイムアウトが発生すると,HiRDBは次の表に示す情報を出力します。
出力される情報 |
内容 |
---|---|
|
|
排他待ち限界経過時間を超えたことを示す情報です。 |
- 〈この項の構成〉
(1) デッドロック情報及びタイムアウト情報の出力先は?
デッドロック情報及びタイムアウト情報は,次のファイルに出力されます。このファイルを,デッドロック・タイムアウト情報ファイルといいます。
-
%PDDIR%¥spool¥pdlckinf¥ファイル名
「ファイル名」は,デッドロック又はタイムアウトが発生した日時を基に,HiRDBが次のように決定します。
(2) HiRDB管理者がすることは?
これらの情報を出力するには,システム共通定義で次の指定が必要です。
(3) デッドロック情報及びタイムアウト情報の参照方法は?
次のメッセージが出力された場合に,デッドロック情報又はタイムアウト情報を参照してください。
-
KFPA11911-E(デッドロックの発生を示すメッセージ)
-
KFPS00441-I(デッドロック情報の出力を示すメッセージ)
-
KFPS00451-I(タイムアウト情報の出力を示すメッセージ)
デッドロック情報及びタイムアウト情報はメモ帳などで参照できます。ファイル名は上記のKFPS00441-Iメッセージ及びKFPS00451-Iメッセージに出力されます。
デッドロック情報及びタイムアウト情報の出力内容については,「デッドロック情報の出力内容」,及び「タイムアウト情報の出力内容」を参照してください。
(4) デッドロック情報及びタイムアウト情報への対処方法は?
デッドロック又はタイムアウトの発生頻度は,UAPのアクセス順序を変更することや,UAPで排他の範囲を広くしてアクセスすることなどで低減できます。このため,参照したデッドロック情報又はタイムアウト情報を基に,デッドロック又はタイムアウトの要因となった資源を見直すことが重要です。デッドロック又はタイムアウトの要因となった資源ごとの対処方法については,マニュアル「HiRDB UAP開発ガイド」を参照してください。
(5) 不要なデッドロック・タイムアウト情報ファイルを削除しましょう
HiRDB管理者は不要となったデッドロック・タイムアウト情報ファイルを次に示す(a),(b)又は(c)の方法で削除してください。
(a) HiRDBのコマンドで削除する方法
pdcspoolコマンドで削除します。pdcspoolコマンドを実行すると,%PDDIR%\spool下にあるトラブルシュート情報ファイルが削除されます。したがって,デッドロック・タイムアウト情報ファイルだけを削除する場合は,「OSの機能で削除する方法」を参照してください。
(b) HiRDBの機能で削除する方法
pd_spool_cleanup_interval_levelオペランドを省略するかallを指定すると,定期的にHiRDBがデッドロック・タイムアウト情報ファイルを削除します。通常は24時間ごとに削除します。この削除間隔をpd_spool_cleanup_intervalオペランドで変更できます。
また,pd_spool_cleanup_levelオペランドを省略するかallを指定すると,HiRDBの開始時にHiRDBがデッドロック・タイムアウト情報ファイルを削除します。
(c) OSの機能で削除する方法
OSの機能(OSのdelコマンドなど)で削除してください。delコマンドについては,OSのマニュアルを参照してください。