メニューボタン
サポートチーム便り2023.04.26

IFS内ファイルを誰がロックしているかを確認したい

Question

ファイル(オブジェクト)のロックを確認する為に、WRKOBJLCK コマンドを使用していますが、IFS内のフォルダーにあるファイルがロックされた場合に、誰がロックしているのかを確認する方法はありませんか。

Answer

API QP0FPTOS を使用する事により、IFS内のファイルロック状況を確認できます。

API QP0FPTOS を実行する時に、パラメータを3つ渡します。

実行したい機能 *LSTOBJREF
オブジェクトパス名 ロック状況を確認するファイル名を指定します
レポートタイプ *FORMAT2

※実行例

CALL PGM(QP0FPTOS) PARM(*LSTOBJREF '/belldata/test.csv' *FORMAT2)

このAPIを実行すると、スプールファイル (ユーザー・データ QP0FDUMP) が出力されます。

【スプールファイル】 ※一部抜粋

             List Object References (QP0FPTOS *LSTOBJREF *FORMAT2)
  →省略
Jobs using the object:
 ------------------------------------------------------------------------------
 Job. . . . . . . . . . . . . :   182258/QUSER/QZLSFILET
  →省略
    iSeries NetServer Session Information for this job
        Number of sessions:  1
       User:   BELLUSR              Session Number:    135052
          Workstation Address:  192.168.10.126
          Workstation Name:    192.168.10.126
 *********************** End of QP0FPTOS(*LSTOBJREF) Dump *********************

ジョブ 182258/QUSER/QZLSFILETのジョブログを確認しても、どのファイルをロックしているか確認できず、また多数ユーザーが使用している場合には、ユーザーの特定が困難になります。

このAPIを実行していただきますと、出力されたリスト中にある「iSeries NetServer Session Information for this job」の項目から、NetServerのユーザー名とPCのIPアドレスが確認できます。

また、このAPIを使用して、QDLSのオブジェクトをチェックすることもできます。

CALL PGM(QP0FPTOS) PARM(*LSTOBJREF '/qdls/dls-name/dls001.txt' *FORMAT2)

※ご参考サイト

このAPIを使用して、WRKLCKコマンドを作成するサンプルプログラムが記載されています。

「Sample Program to List Lock Information for IFS Objects」
https://www.ibm.com/support/pages/node/685131

by あすと

あわせて読みたい記事

PAGE TOP