IBM i のオブジェクトサイズの増減を手間なく定期的に確認できませんか?
Question
RTVDSKINFとPRTDSKINFを週1回実行し、ディスク使用率の詳細(オブジェクトのサイズ)を確認していますが、どのオブジェクトがどれくらいのサイズ増加したかを確認する方法はありませんでしょうか。
出来れば今後、定期的に確認をしたいためオペレーションが多いのは避けたいところです・・・
Answer
RTVDSKINFコマンドを実行すると、ライブラリーQUSRSYSのファイルQAEZDISKへ情報を書き込みます。
このファイル(QUSRSYS/QAEZDISK)は、RTVDSKINFコマンドを実行すると上書きされてしまいます。
RTVDSKINFコマンドを実行する前に、このファイル(QUSRSYS/QAEZDISK)をリネイムしておき、RTVDSKINFコマンド実行すると、再度このファイル(QUSRSYS/QAEZDISK)が作成されるので、両ファイルの内容を比較すると、どのオブジェクトがどれくらいのサイズ増加したのかを確認する事ができます。
この内容は下記サイトに記載されています。
「Tool to Compare Two Files Collected with the RTVDSKINF Command」
https://www.ibm.com/support/pages/node/6394466
上記サイトでは、RTVDSKINFコマンドを実行する前に QAEZDISK を QAEZDISK1 とリネイムし、RTVDSKINFコマンドを実行した後に、QAEZDISK(New) と QAEZDISK1(Old) の内容を比較するツール(コマンド:CMPDISK)が提供されています。
注意:このコードは現状のまま提供されます。IBMは、このツールの実行結果の正確性を保証する責任を負いません。
CMPDISKコマンドを実行すると、バッチ処理にてスプールファイルCOMPDISKが作成されます。
このツール(CMPDSIK)では、ソースファイル(QCLSRC, QCMDSRC, QDDSSRC, QRPGLESRC)が提供されていますので、カスタマイズが可能です。
例えば、下記のようなバッチプログラムを作成し、週に1回実行するようにスケジュール項目へ登録すると、1週間の間にどのオブジェクトがどれくらいのサイズ増加したかを確認する事ができます。
バッチプログラム例
PGM
DCL VAR(&OLD_FILE) TYPE(*CHAR) LEN(10) +
VALUE('QAEZDISK1')
MONMSG MSGID(CPF0000)
/* QAEZDISK RENAME */
DLTF FILE(QUSRSYS/&OLD_FILE)
RNMOBJ OBJ(QUSRSYS/QAEZDISK) OBJTYPE(*FILE) +
NEWOBJ(&OLD_FILE)
/* RTVDSKINF */
RTVDSKINF
/* CMPDISK */
ADDLIBLE LIB(CMPDISK)
CMPDISK FILE1(QUSRSYS/&OLD_FILE) +
FILE2(QUSRSYS/QAEZDISK)
ENDPGM
ファイル単位で確認することができるので、業務で使用しているファイルが、どれくらいの期間でどれくらいサイズアップしているのかが簡単に比較ができて便利かもしれませんね。
by . あすと