- 「メインフレーム・コンピューター」で遊ぼう - http://www.arteceed.net -

LOGRECデータセットのプリントとイニシャライズ

LOGREC(SYS1.LOGREC)はハードウェアおよびソフトウェア(主にOS)のエラーログを記録するデータセットです。EREP(Environmental Record Editing and Printing Program)というユーティリティーを使うことによって記録されているレコードを編集し印刷することができます。


LOGRECデータセットのレコード内容を印刷する。(MVS)

    SFT(Softwareエラー)レコードのタイトルリスト作成

    //EREPLIST EXEC PGM=IFCEREP1,
    //         PARM='TYPE=S,PRINT=SD,ACC=N'
    //SERLOG   DD DISP=SHR,DSN=SYS1.LOGREC
    //TOURIST  DD SYSOUT=*
    //EREPPT   DD SYSOUT=*
    //SYSIN    DD DUMMY
    //
    

    エラーが起きたOSのモジュール名やABENDコードなどのタイトル情報をリストアップします。

    SFT(Softwareエラー)レコードのフォーマット

    //SFTRPRT  EXEC PGM=IFCEREP1,
    //         PARM='TYPE=S,PRINT=PS,DATE=(09268-09270),ACC=N'
    //SERLOG   DD DISP=SHR,DSN=SYS1.LOGREC
    //TOURIST  DD SYSOUT=*
    //EREPPT   DD SYSOUT=*
    //SYSIN    DD DUMMY
    //
    

    エラーレコードの内容を編集してプリントアウトします。DATEパラメーターでレコードが記録された日付で印刷範囲を絞り込むこともできます。

    デバイスのユニット・チェック・レコードのフォーマット

    //OBRRPRT  EXEC PGM=IFCEREP1,
    //         PARM='TYPE=O,DEV=(33XX,34XX,35XX),PRINT=PS,ACC=N'
    //SERLOG   DD DISP=SHR,DSN=SYS1.LOGREC
    //TOURIST  DD SYSOUT=*
    //EREPPT   DD SYSOUT=*
    //SYSIN    DD DUMMY
    //
    

    DISK(33xx)とTAPE(34xx/35xx)装置のOBRレコード(unit checks)を編集してプリントアウトします。プログラム側で発行したCCW(チャネルコマンド)に誤りがあってのユニットチェック・レコードなどもあるため、必ずしもレコードが記録されたこと=ハードウェア障害が起きた、というわけではありません。


LOGRECデータセットのバックアップ。(MVS)

    ヒストリー・データセットへのコピー

    //BACKUP   EXEC PGM=IFCEREP1,
    //         PARM='CARD'
    //SERLOG   DD DISP=SHR,DSN=SYS1.LOGREC
    //ACCDEV   DD DISP=(,CATLG),DSN=SYS1.LOGREC.HISTORY,
    //            UNIT=SYSDA,VOL=SER=??????,SPACE=(CYL,(10,10),RLSE),
    //            DCB=(RECFM=VB,BLKSIZE=27998)
    //TOURIST  DD SYSOUT=*
    //EREPPT   DD SYSOUT=*
    //SYSIN    DD *
    PRINT=NO
    ACC=Y
    ZERO=N     ← ZERO=Y で元のLOGRECがクリアーされる。
    ENDPARM
    //
    

    EREPを使い、LOGRECデータセットの内容を順次編成データセットへ書き出します。コピーされた順次データセットがLOGRECのHISTORYデータセットです。ZEROパラメーターにYを指定すると、元のLOGRECデータセットはクリアーされます。
    持っている資料には「LOGRECはDSORG=PSUで中にDASD上のアドレスを持っているようである。そのためGENERで単純にコピーしても利用できない。」というメモがありました。PSだけどGENERでお手軽にコピーしてもそれを使用することはできないはずです。

    ヒストリー・データセットからのレポート作成

    //OBRRPRT  EXEC PGM=IFCEREP1,
    //         PARM='TYPE=O,DEV=(33XX,34XX,35XX),PRINT=PS,ACC=N,HIST=Y'
    //ACCIN    DD DISP=SHR,DSN=SYS1.LOGREC.HISTORY2
    //DIRECTWK DD UNIT=SYSDA,SPACE=(CYL,10,,CONTIG)
    //TOURIST  DD SYSOUT=*
    //EREPPT   DD SYSOUT=*
    //SYSIN    DD DUMMY
    //
    //
    

    ヒストリー・データセットからのレポート作成時は、DD名が変わり、追加の一時的データセット定義が必要になりますが、同じレポートを作成することができます。

システム稼働中にLOGRECが一杯になった時などは、取り急ぎ順次データセットへ書き出し、後からヒストリー・データセットによってレポートすることもできます。


LOGRECデータセットのクリアー(再初期化)。(MVS)

    //IFCDIP00 EXEC PGM=IFCDIP00
    //SERERDS  DD DISP=OLD,DSN=SYS1.LOGREC
    //
    //
    新規にLOGRECを割り振るには次のようにします。SPACEパラメーターにCONTIGの指定を忘れずに!
    //SERERDS  DD DSN=SYS1.LOGREC,DISP=(,CATLG),
    //            VOL=SER=M43RES,UNIT=SYSDA,SPACE=(CYL,10,,CONTIG)
    

    テスト系システムなど、LOGRECデータを重要視しなくてもよいのであれば、コピーせずにLOGRECデータセットをイニシャライズできます。新規にLOGRECを割り振る場合にも使用します。稼働中のシステムのLOGRECデータセットのサイズを拡張するなどで、新たに割り振りたい場合は、既存のLOGRECデータセットの名前をIEHPROGMユーティリティーでリネームして、リネーム後直ちにIFCDIP00で割り振り初期化します。その間はLOGRECデータセットがない状態になりますが、エラーが起きたときの記録なのでSMFほどナーバスになる必要はないでしょう。どうしてもこだわる(100%の完璧を期す)なら、別DSNで作成し、IEASYSxxのLOGRECパラメーターで別DSNを指すように変え、IPL後に改めて作成し、またIEASYSxxのLOGRECパラメーターを戻すなどを行えばいいでしょう。
    現在のz/OSではLOGRECをデータセットではなく、ログ・ストリーム(システム・ロガー)で運用することもできます。詳細はマニュアル「MVS 診断: ツールと保守援助プログラム」などを参照して下さい。


EREPの詳細はマニュアル「Environmental Record Editing and Printing Program(EREP) User’s Guide」(http://publibfp.dhe.ibm.com/epubs/pdf/ifc5g102.pdf)や「Environmental Record Editing and Printing Program(EREP) Reference」(http://publibfp.dhe.ibm.com/epubs/pdf/ifc5r105.pdf)を参照して下さい。その他「MVS 診断: ツールと保守援助プログラム」にも少し載ってるはずです。
MSPなら「サービスエイド使用手引書」あたりに載ってるはずです。VOS3では確かLOGRECをRASLOGと呼んでたと記憶してます。マニュアルはちょっと思い出せません。資料も残してませんでした。