AS400のロック待ち確認手順|LCKW・WRKOBJLCK・ジョブログで誰がつかんでいるか見る

AS400 / IBM i の本番対応で「画面が進まない」「更新できない」「バッチが止まっている」「LCKWのような待ち状態が見える」という時は、オブジェクトロックやレコードロックを疑う場面があります。ロックは、同じデータやオブジェクトを複数の処理が同時に触る時に起きやすい現象です。

この記事では、AS400でロック待ちを見つけた時に、初心者・保守担当者が最初に確認する順番を整理します。原因不明のままジョブを強制終了する前に、誰が何をつかんでいるのかを落ち着いて確認します。

ロック待ちで最初に見ること

見るもの確認すること関連ページ
WRKACTJOBLCKW、MSGW、長時間実行、CPUの状態WRKACTJOB確認手順
WRKOBJLCK対象オブジェクトをどのジョブがつかんでいるかコマンド逆引き
ジョブログどの処理で待ち始めたか、エラーやメッセージがあるかジョブログ確認手順
対象ファイルどのライブラリ・ファイル・メンバーが関係するかDSPFFD / DSPPFM確認
業務影響受注、出荷、在庫、売上、請求のどこが止まるか販売管理保守ガイド

WRKOBJLCKで確認する

WRKOBJLCK は、対象オブジェクトに対してどのジョブがロックを持っているかを見る入口になります。ロックしているジョブが分かれば、ジョブ名、ユーザー、ジョブ番号を確認し、そのジョブのジョブログや実行中処理を見ます。

ただし、ロックしているジョブを見つけたからといって、すぐに終了してよいとは限りません。帳票出力中、更新処理中、締め処理中、外部連携中の可能性があります。業務影響と再実行方法を確認してから判断します。

CPF5026・CPF5035が出ている時

レコード更新やファイル操作の前後で CPF5026、CPF5035 のようなCPFメッセージが出ている場合は、対象ファイル、メンバー、ロックしているジョブ、実行ユーザーを合わせて確認します。メッセージIDだけではなく、ジョブログの前後に出ているCPF、RPG、SQLメッセージも保存します。

  • CPF5026 / CPF5035 の直前直後のジョブログを確認
  • WRKOBJLCKで対象ファイルをつかんでいるジョブを確認
  • WRKACTJOBで待っているジョブと止めてはいけないジョブを分ける
  • ODBC/JDBCや外部連携から同じファイルを更新していないか確認
  • 再実行前に更新途中データと業務影響を確認

CPF系のエラー全体は AS400メッセージID・エラーコード索引、外部接続が絡む場合は ODBC/JDBC接続の確認ポイント も合わせて確認してください。

本番でやってはいけないこと

  • 誰がロックしているか確認せずジョブを終了する
  • 締め処理中のジョブを止める
  • 更新途中のファイルを手作業で触る
  • MSGWやLCKWを見ただけで原因を決めつける
  • 再実行手順を確認せず処理を再投入する

ロック相談で残すメモ

メモ内容
発生時刻いつから待ち状態になったか
待っているジョブジョブ名、ユーザー、ジョブ番号、サブシステム
ロックしているジョブWRKOBJLCKで見えたジョブ情報
対象オブジェクトライブラリ、ファイル、プログラム、メンバー
業務影響どの部署・処理・締めに影響するか

まとめ

AS400でロック待ちが起きた時は、WRKACTJOB、WRKOBJLCK、ジョブログ、対象ファイル、業務影響の順に確認します。ジョブを止めるかどうかは、ロックしている処理と再実行手順を見てから判断します。

本番で迷う場合は、本番障害の初動対応保守会社に相談する前のチェックリスト も合わせて確認してください。

ロック待ちは本番障害として影響範囲を先に分ける

LCKWやWRKOBJLCKでロック待ちを見つけた時は、誰がつかんでいるかだけでなく、どの業務が止まっているか、強制終了してよいか、後続処理に影響があるかを先に分けます。在庫照会、請求締め、出荷確定など業務影響がある場合は、ジョブ終了より前に関係者へ状況を共有します。

確認すること見るもの関連ページ
誰がロックしているかWRKOBJLCK / WRKACTJOB / WRKJOBAS400コマンド逆引き
なぜ止まっているかジョブログ、MSGW、直前処理メッセージID・エラーコード索引
業務影響本番画面、バッチ、帳票、外部連携本番障害の初動対応
遅いだけに見える場合CPU、SQL、QZDASOINIT、ロック待ちAS400が遅い時の確認手順