AS400オブジェクトロック・ファイル使用中の調べ方|WRKOBJLCKで止まる原因を見る

AS400 / IBM i で「ファイル使用中」「オブジェクトがロックされている」「処理が進まない」と出た時、すぐにジョブを終了すると、業務データや後続処理に影響することがあります。ロックは障害にも見えますが、正常な更新処理の途中である場合もあります。

ロック時の確認順

確認見るもの判断
対象ファイル、プログラム、ライブラリ何がロックされているか
保持ジョブWRKOBJLCK、ジョブ名、ユーザー誰がロックしているか
状態実行中、LCKW、MSGW処理中か、待っているか
業務影響締め処理、出荷確定、帳票止めると何が壊れるか
終了判断ジョブログ、担当者、承認強制終了してよいか

強制終了の前に業務を確認する

ロックしているジョブを見つけても、すぐに終了するのは危険です。更新途中、締め処理中、外部連携中の場合、強制終了で後続処理が壊れることがあります。ジョブログと業務担当者への確認を挟みます。

遅い原因がロックのこともある

利用者には「遅い」「固まった」と見えていても、裏ではロック待ちになっていることがあります。WRKACTJOBでLCKWが目立つ場合は、待っているジョブだけでなく保持しているジョブを追います。

性能劣化の初動は AS400が遅い時の確認手順、本番障害は AS400本番障害の初動チェックリスト、本番反映と戻しは AS400本番反映・戻し手順チェックリスト を参照してください。

Codexには匿名化して渡す

ロック調査でCodexを使う場合は、ジョブ名やファイル名を匿名化し、状態、発生時刻、確認済み項目だけを渡します。AIには確認順の整理を任せ、ジョブ終了や再実行の判断は人が行います。

関連するAS400確認ルート

オブジェクトロックやファイル使用中は、WRKOBJLCKで誰が使っているかを見るだけでは足りません。止めてよいジョブか、締め処理中か、外部連携中かを判断してから対応します。

ロック解除より先に「誰が何をしているか」を見る

オブジェクトロックやファイル使用中のエラーでは、ロックしているジョブを止めればよいとは限りません。画面入力中、夜間バッチ中、外部連携中、帳票作成中など、業務上必要な処理が持っているロックかもしれません。私は、WRKOBJLCKでジョブを見た後、ジョブログと実行ユーザー、開始時刻を確認します。

  • ロックしているジョブ名とユーザーを確認する
  • 対話ジョブかバッチジョブかを分ける
  • 止める前に業務担当者へ影響を確認する
  • 同じロックが繰り返すなら処理順や締め時刻を見直す

オブジェクトロック調査で見る順番

AS400 / IBM i で「ファイルが使用中」「オブジェクトがロックされている」と言われた場合は、すぐにジョブを止めるのではなく、誰が何の目的で掴んでいるのかを確認します。WRKOBJLCKで対象オブジェクトを確認し、ジョブ名、ユーザー、ロック状態、実行中の処理を分けて見ると、業務影響を判断しやすくなります。

確認順見る内容判断ポイント
1対象ライブラリ・ファイル名本番とテストを取り違えていないか
2ロックしているジョブ・ユーザー対話処理か、バッチ処理か、外部連携か
3ジョブの状態実行中、MSGW、待機、長時間処理のどれか
4業務影響出荷、請求、在庫、締め処理に影響するか
5解除判断終了してよいジョブか、担当者確認が必要か

ロック解除は、影響が小さく見えても慎重に判断します。特に夜間バッチ、締め処理、外部連携の途中でジョブを止めると、データ不整合や再送処理が必要になる場合があります。若手担当者へ教える時は、コマンド操作だけでなく「止めてよいかを判断する材料」を一緒に残すことが重要です。

夜間更新がファイル使用中で止まる想定例

夜間バッチがファイル使用中で待つ場合、ロックしているジョブを見つけても、すぐ終了させてはいけません。正当な更新処理か、残存ジョブかを確認します。

確認点確認内容判断
保持者WRKOBJLCKなどでジョブ名、ユーザー、番号を特定する対話ジョブ、バッチ、サーバージョブのどれかを分ける
利用状況対象ジョブの状態、処理内容、開始時刻、直前メッセージを確認する長時間処理中か、応答待ちや異常停止の残りかを判断する
影響終了した場合の未完了更新、後続処理、再実行可否を確認する業務責任者と運用担当の承認なしに終了しない

ロック解除だけを目的にジョブを終えると、データ更新が途中で切れる場合があります。解除後は待機ジョブが進んだかだけでなく、保持側と待機側の処理結果を両方確認します。

ファイル使用中エラーを調べる時の確認表

ファイル使用中のエラーは、ジョブの競合、対話画面の開きっぱなし、バッチ処理中、バックアップ中など複数の原因で起こります。先に状況を分けると対応を誤りにくくなります。

確認点確認内容判断
保持元WRKOBJLCKで保持ジョブ、ユーザー、ロック状態を確認する画面操作中かバッチ中かで連絡先を変える
処理内容DSPJOBやDSPJOBLOGで現在実行中のCL、RPG、SQLを確認する処理中なら強制終了せず完了見込みを確認する
再実行待機、画面終了、再実行、運用時間変更のどれで解消するか整理する再発する場合はジョブスケジュールや排他設計を見直す

「誰が掴んでいるか」だけでなく「なぜその時間に掴むのか」まで残すと、同じファイル使用中エラーを減らせます。