AS400 / IBM i の本番対応で「画面が進まない」「更新できない」「バッチが止まっている」「LCKWのような待ち状態が見える」という時は、オブジェクトロックやレコードロックを疑う場面があります。ロックは、同じデータやオブジェクトを複数の処理が同時に触る時に起きやすい現象です。
この記事では、AS400でロック待ちを見つけた時に、初心者・保守担当者が最初に確認する順番を整理します。原因不明のままジョブを強制終了する前に、誰が何をつかんでいるのかを落ち着いて確認します。
ロック待ちで最初に見ること
| 見るもの | 確認すること | 関連ページ |
|---|---|---|
| WRKACTJOB | LCKW、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 / WRKJOB | AS400コマンド逆引き |
| なぜ止まっているか | ジョブログ、MSGW、直前処理 | メッセージID・エラーコード索引 |
| 業務影響 | 本番画面、バッチ、帳票、外部連携 | 本番障害の初動対応 |
| 遅いだけに見える場合 | CPU、SQL、QZDASOINIT、ロック待ち | AS400が遅い時の確認手順 |
