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

ACSでSQLを便利に使おう - IFSの情報(サイズなど)をEXCELへ纏めたい -

Question

ディスク使用率が多くなってきたので PRTDSKINFで確認したらIFS領域の使用率が多い事が分かりました。

IFS領域内のディレクトリーやオブジェクトのサイズの情報をPRTDIRINFで確認できるのは分かるのですが、EXCELに纏めたい(変換したい)と思っています。

何かよい方法はありませんでしょうか。

Answer

IFS領域内のディレクトリーやオブジェクトサイズをEXCELに纏める事は下記手順で可能です。

  1. IFS領域の情報を収集
  2. 収集した情報をSQLで取得
  3. SQLで取得した内容をEXCELへ変換

  1. IFS領域の情報を収集

  2. RTVDIRINF (ディレクトリー情報の検索) コマンドを実行します。

    コマンド例

    RTVDIRINF DIR(/) INFFILEPFX(QRYIFS) INFLIB(QGPL) 
    OMIT('/qsys.lib' '/qntc' '/qfilesvr.400' '/qopt')

    • システム提供(QSYSなど)のディレクトリーは、OMIT(除外)します。
    • 完了するまでに時間がかかるため、バッチ(SBMJOB)で実行する事をお勧めいたします。
    • この例では、ライブラリーQGPL内にファイルQRYIFSOとQRYIFSDが作成されます。
    • ファイルQRYIFSOとQRYIFSDは上書きされませんので、実行前に削除(DLTF)してください。
    • ファイルQRYIFSOとQRYIFSDの内容は、下記になります。
    QRYIFSD ディレクトリー情報を含みます。
    QRYIFSO ディレクトリー内のオブジェクトに関する情報を含みます。

  3. 取得した情報をSQLで取得
    • SQLを実行する時には、ACSのメニューから「SQL スクリプトの実行」にて実行してください。

    実行するSQLの例は下記になります。

    --- 各ディレクトリ・サイズを降順に取得します ---
     Select (Sum (O.QEZALCSIZE) / 1048576) As Directory_Size_In_MB,
           D.QEZDIRNAM1 As Directory_Path
       From QGPL.QRYIFSD D
            Join QGPL.QRYIFSO O
               On D.QEZDIRIDX = O.QEZDIRIDX
       Group By D.QEZDIRIDX,
                QEZDIRNAM1
       Order By 1 Desc,
                2;
    --- オブジェクトサイズを降順に取得します ---
    Select
           Case D.QEZDIRNAM1
              When '/' Then D.QEZDIRNAM1
              Else D.QEZDIRNAM1 || '/' || QEZOBJNAM
           End As "Object",
           QEZOBJTYPE As "Object Type",
           QEZALCSIZE As "Allocated Size"
       From QGPL.QRYIFSO O,
            QGPL.QRYIFSD D
       Where O.QEZDIRIDX = D.QEZDIRIDX
       Order By QEZALCSIZE Desc;

  4. SQLで取得した内容をEXCELへ変換
  5. ACSのSQL実行結果をEXCELへ変換する手順は、下記サイトをご参照ください。

    「ACSのSQL実行結果をダウンロードしたい」
    https://www.e-bellnet.com/category/technology/2212/2212-02.html

    SQLを実行します。

    EXCELへ変換します。

※ご参考サイト:

「Retrieving Information About Objects In the IFS」
https://www.ibm.com/support/pages/node/725583

「ディレクトリー情報の検索(RTVDIRINF)」
https://www.ibm.com/docs/ja/i/7.5?topic=ssw_ibm_i_75/cl/rtvdirinf.html

「RTVDIRINF および PRTDIRINF コマンドの出力の処理」
https://www.ibm.com/docs/ja/i/7.5?topic=commands-working-output-rtvdirinf-prtdirinf

by あすと

あわせて読みたい記事

PAGE TOP