Hitachi

ノンストップデータベース HiRDB Version 9 システム運用ガイド(UNIX(R)用)


8.6.1 基本項目

pd_lck_deadlock_infoオペランドにYを指定している場合,デッドロック又はタイムアウトが発生すると,HiRDBは次の表に示す情報を出力します。

表8‒6 デッドロック又はタイムアウトが発生したときに出力される情報

出力される情報

内容

デッドロック情報

  • サーバ内の複数のトランザクション間に発生したデッドロックの情報です。

  • HiRDB/パラレルサーバの場合,サーバ間でデッドロックが発生したときは,タイムアウト情報として出力されます。

  • デッドロックについては,マニュアル「HiRDB Version 9 UAP開発ガイド」を参照してください。

タイムアウト情報

排他待ち限界経過時間を超えたことを示す情報です。

〈この項の構成〉

(1) デッドロック情報及びタイムアウト情報の出力先は?

デッドロック情報及びタイムアウト情報は,次のファイルに出力されます。このファイルを,デッドロック・タイムアウト情報ファイルといいます。

「ファイル名」は,デッドロック又はタイムアウトが発生した日時を基に,HiRDBが次のように決定します。

[図データ]

(2) HiRDB管理者がすることは?

これらの情報を出力するには,システム共通定義で次の指定が必要です。

  1. pd_lck_deadlock_infoオペランドでデッドロック情報及びタイムアウト情報を出力することを指定します。

  2. pd_lck_wait_timeoutオペランドで排他待ち限界経過時間を指定します。

(3) デッドロック情報及びタイムアウト情報の参照方法は?

次のメッセージが出力された場合に,デッドロック情報又はタイムアウト情報を参照してください。

デッドロック情報及びタイムアウト情報は,OSのコマンド(catコマンド又はviコマンドなど)で参照できます。これらのコマンドに指定するファイル名は,上記のKFPS00441-Iメッセージ及びKFPS00451-Iメッセージに出力されます。catコマンド又はviコマンドについては,OSのマニュアルを参照してください。

デッドロック情報及びタイムアウト情報の出力内容については,「デッドロック情報の出力内容」,及び「タイムアウト情報の出力内容」を参照してください。

(4) デッドロック情報及びタイムアウト情報への対処方法は?

デッドロック又はタイムアウトの発生頻度は,UAPのアクセス順序を変更することや,UAPで排他の範囲を広くしてアクセスすることなどで低減できます。このため,参照したデッドロック情報又はタイムアウト情報を基に,デッドロック又はタイムアウトの要因となった資源を見直すことが重要です。デッドロック又はタイムアウトの要因となった資源ごとの対処方法については,マニュアル「HiRDB Version 9 UAP開発ガイド」を参照してください。

(5) 不要なデッドロック・タイムアウト情報ファイルを削除しましょう

HiRDBは,デッドロック・タイムアウト情報ファイルを削除しません。したがって,HiRDB管理者は不要となったデッドロック・タイムアウト情報ファイルを次に示すどちらかの方法で削除してください。

(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のrmコマンドなど)で削除してください。rmコマンドについては,OSのマニュアルを参照してください。