システムの運用

本章では、OSIシステムを起動および終了する方法やOSIシステムの運用情報が記録されるログ・ファイルの使用方法について説明します。

1. 起動と終了

OSIシステムが動作するには、TPモニターのTmaxが起動しており、OpenFrame Base、OpenFrame Batchのモジュールが動作できるように準備されている必要があります。

figure 5 1
OSIの起動と終了
制御リージョンを起動する前に、TCacheが生成されている必要があります。TCacheは、pfmtcacheadminツールを使用して生成できます。

1.1. 起動

以下は、OSIの起動手順です。

  1. TmaxエンジンとOSIシステムに必要なBase/Batchモジュールおよびosiomsvrを起動します。(osiboot)

    Tmaxの起動は、osibootツールによって3つのステップで実行されます。

    1. Tmaxが起動されます。

    2. OSIの起動に必要なOpenFrameの他のパッケージで使用されるサーバー・モジュールが起動されます。

      第2ステップを実行するにはOSI以外のパッケージで使用されるサーバー・モジュールを、事前に「osi.ofsys.seq」という環境設定ファイルにサーバー別の起動順を考慮して設定しておく必要があります。

      OSIでBMPを動作させるためには、Tmaxの起動時にOpenFrame Batchで必要なサーバー・モジュールが同時に起動する必要があります。以下はその例です。

      $ cat osi.ofsys.seq
      TPFMAGENT
      ofrsasvr
      ofrlhsvr
      ofrdmsvr
      ofrdsedt
      ofrcmsvr
      ofruisvr
      ofrsmlog
      obmjmsvr
      obmjschd
      obmjinit
      obmjhist
      obmjspbk
      ofrpmsvr
      obmtsmgr
      obmjtimr
      tmsvr
      #IMSAOTMA
    3. OSIシステム・サーバーとユーザー・サーバーを起動させるためのosiomsvrが起動されます。

    以下とおり、osibootを使用してTmaxを起動します。

    $ osiboot
    
    TMBOOT for node(NODE1) is starting:
      TMBOOT: TMM is starting: Wed Mar 10 19:37:02 2021
      TMBOOT: CLL is starting: Wed Mar 10 19:37:02 2021
      TMBOOT: CLH is starting: Wed Mar 10 19:37:02 2021
      TMBOOT: TLM(tlm) is starting: Wed Mar 10 19:37:02 2021
    [2021-03-10T19:37:02.848282] [osiboot(5670)           ] [M] [OSI7061M] System server(ofrsasvr) booting ok
    [2021-03-10T19:37:02.851625] [osiboot(5670)           ] [M] [OSI7061M] System server(ofrlhsvr) booting ok
    [2021-03-10T19:37:02.855374] [osiboot(5670)           ] [M] [OSI7061M] System server(ofrdmsvr) booting ok
    [2021-03-10T19:37:02.859919] [osiboot(5670)           ] [M] [OSI7061M] System server(ofrdsedt) booting ok
    [2021-03-10T19:37:02.864295] [osiboot(5670)           ] [M] [OSI7061M] System server(ofrcmsvr) booting ok
    [2021-03-10T19:37:02.868285] [osiboot(5670)           ] [M] [OSI7061M] System server(ofruisvr) booting ok
    [2021-03-10T19:37:02.873191] [osiboot(5670)           ] [M] [OSI7061M] System server(ofrsmlog) booting ok
    [2021-03-10T19:37:02.877533] [osiboot(5670)           ] [M] [OSI7061M] System server(obmjmsvr) booting ok
    [2021-03-10T19:37:02.881853] [osiboot(5670)           ] [M] [OSI7061M] System server(obmjschd) booting ok
    [2021-03-10T19:37:02.886434] [osiboot(5670)           ] [M] [OSI7061M] System server(obmjinit) booting ok
    [2021-03-10T19:37:02.890673] [osiboot(5670)           ] [M] [OSI7061M] System server(obmjhist) booting ok
    [2021-03-10T19:37:02.897808] [osiboot(5670)           ] [M] [OSI7061M] System server(obmjspbk) booting ok
    [2021-03-10T19:37:02.905868] [osiboot(5670)           ] [M] [OSI7061M] System server(ofrpmsvr) booting ok
    [2021-03-10T19:37:02.920575] [osiboot(5670)           ] [M] [OSI7061M] System server(obmtsmgr) booting ok
    [2021-03-10T19:37:02.937001] [osiboot(5670)           ] [M] [OSI7061M] System server(tmsvr) booting ok
    [2021-03-10T19:37:02.943765] [osiboot(5670)           ] [M] [OSI7061M] System server(osiomsvr) booting ok
    [2021-03-10T19:37:02.943791] [osiboot(5670)           ] [M] [OSI7051M] Booting process complete.
  2. JCLを使用してIMSIDごとのシステム・サーバー(制御リージョン)を起動します。

    Tmaxが起動した後、OSIシステム・サーバーを起動します。OSIシステムはIMSID別に起動するため、3つのOSIシステムを使用する場合は、IMSID別にOSIシステムを3回起動します。OSIシステムの起動はtjesmgrツールを使用してJCLで構成されたジョブを実行します。

    以下は、IMSIDがIMSAであるシステム・サーバーを起動するJCLの例です。

    //IMSACTL  JOB
    //STEP1    EXEC PGM=DFSMVRC0,
    //            PARM='CTL,IMS,IMSID=IMSA'
    //MODBLKSA DD DISP=SHR,DSN=OSI.IMSA.DEFLIBA
    //MODBLKSB DD DISP=SHR,DSN=OSI.IMSA.DEFLIBB
    //IMSACBA  DD DISP=SHR,DSN=IMS.ACBLIBA
    //IMSACBB  DD DISP=SHR,DSN=IMS.ACBLIBB
    //DFSRESLB DD DISP=SHR,DSN=IMS.RESLIB
    //FORMATA  DD DISP=SHR,DSN=OSI.IMSA.MFSLIBA
    //FORMATB  DD DISP=SHR,DSN=OSI.IMSA.MFSLIBB
    //STEPLIB  DD DISP=SHR,DSN=OSI.IMSA.STEPLIB
    //QBLKS    DD DISP=SHR,DSN=OSI.IMSA.MQLIB
    //MODSTAT  DD DISP=SHR,DSN=OSI.IMSA.MODSTAT
    //SYSOUT   DD SYSOUT=*
    //
    
    $ tjesmgr boot
    >
    Command : [boot]
    Node name :  A L L
    NODE1 is booted.
    
    $ tjesmgr run IMSACTL
    >
    Command : [run IMSACTL]
    Node name :  A N Y
    (JOB00001) /root/OF71/OHOME/volume_DEFVOL/SYS1.JCLLIB/IMSACTL is submitted as IMSACTL(JOB00001).

    IMSシステム・サーバーを起動するJCLのPARMパラメータには、次の2つの項目の設定が可能です。

    項目 説明

    IMSID

    4バイトのシステム・サーバーの固有のIMS IDを指定します。

    AUTO

    サーバーの起動後に /NRESTART または /ERESTARTコマンドを自動的に実行するかどうかを設定します。YESまたはNOを指定できます。

  3. OSIコマンドを使用してOSIシステムを運用可能な状態にします。

    JCLを使用してシステム・サーバー(制御リージョン)を起動した後、OSIシステムを初めて起動した場合は「/NRE CHKPT 0」、再起動の場合は/NREまたは/EREコマンドを使用する必要があります。以前に/CHEコマンドを使用してサーバーが正常に終了した場合は/NREコマンドを使用し、サーバーが正常に終了していない場合は/EREコマンドを使用します。そうでない場合はエラーが発生し、コマンドが実行されません。その後、端末がログオンするために/START DCコマンドを実行します。

    以下は、OSIコマンドを使用してIMSIDがIMSAであるシステム・サーバーの/NRE、/STA DCを順序どおり入力する例です。

    $ imscmd IMSA /NRE
    IMS control region : [IMSA]
    Requested command  : [NRE]
    ----------------------------------------
    NRESTART COMMAND IN PROGRESS
    *21069/194013*
    ----------------------------------------
    Command '/NRE' execution done
    
    $ imscmd IMSA /STA DC
    IMS control region : [IMSA]
    Requested command  : [STA DC]
    ----------------------------------------
    START COMMAND COMPLETED
    *21069/194018*
    ----------------------------------------
    Command '/STA DC' execution done
  4. JCLを使用してIMSID別のユーザー・サーバー(従属リージョン)を起動します。

    システム・サーバーが起動した後、処理するクラスに合わせてJCLを実行し、MPPを起動します。処理する数の分だけジョブを実行してMPPを起動することができます。また、OSIコマンドの/START REGIONを使用しても起動可能です。

    以下は、IMSIDがIMSAであるユーザー・サーバーを起動するJCLの例です。クラスを指定しない場合は「000」で設定できます。最初のクラスの指定は必須です。 (例で処理するクラスは、1、2、3、4です)

    //IMSAMSG  JOB
    //STEP1    EXEC PGM=DFSRRC00,
    //            PARM='MSG,001002003004,W00099000,,,R,,,,IMSA,,,,'
    //STEPLIB  DD DISP=SHR,DSN=OSI.IMSA.STEPLIB
    //SYSPRINT DD SYSOUT=*
    //SYSOUT   DD SYSOUT=*
    //SYSDBOUT DD SYSOUT=*
    //

    以下は、JCL名がIMSAMSGであるユーザー・サーバーを起動させる/START REGIONコマンドの例です。

    $ imscmd IMSA /START REGION IMSAMSG
    IMS control region : [IMSA]
    Requested command  : [START REGION IMSAMSG]
    ----------------------------------------
    START COMMAND COMPLETED
    *21069/194050*
    ----------------------------------------
    Command '/START REGION IMSAMSG' execution done

    「/START REGION」の使用方法については、OpenFrame OSI『コマンドリファレンスガイド』を参照してください。

1.2. 終了

以下は、OSIの終了手順です。

  1. システム・サーバー(制御リージョン)とユーザー・サーバー(従属リージョン)を終了します。

    システム・サーバーとユーザー・サーバーを終了するにはOSIコマンドを使用します。OSIコマンドはCHECKPOINTが使用され、ユーザー・サーバーの終了後、システム・サーバーを終了します。

    以下は、OSIコマンドを使用してIMSIDがIMSAであるシステム・サーバーとユーザー・サーバーを終了する例です。

    $ imscmd IMSA /CHE FREEZE
    IMS control region : [IMSA]
    Requested command  : [CHE FREEZE]
    ----------------------------------------
    CHECKPOINT COMMAND IN PROGRESS
    *21069/194108*
    ----------------------------------------
    Command '/CHE FREEZE' execution done
  2. Tmaxを終了します。

    osidownツールを利用すると、OpenFrameのパッケージで使用されるサーバー・モジュールを終了した後、Tmaxが終了します。

    以下は、osidownでTmaxを終了する例です。

    $ osidown
    [2021-03-10T19:41:27.956075] [osidown(5969)           ] [M] [OSI7141M] System server(osiomsvr) shutdown ok
    [2021-03-10T19:41:27.960864] [osidown(5969)           ] [M] [OSI7141M] System server(tmsvr) shutdown ok
    [2021-03-10T19:41:27.983167] [osidown(5969)           ] [M] [OSI7141M] System server(obmtsmgr) shutdown ok
    [2021-03-10T19:41:27.995447] [osidown(5969)           ] [M] [OSI7141M] System server(ofrpmsvr) shutdown ok
    [2021-03-10T19:41:27.000641] [osidown(5969)           ] [M] [OSI7141M] System server(obmjspbk) shutdown ok
    [2021-03-10T19:41:28.003942] [osidown(5969)           ] [M] [OSI7141M] System server(obmjhist) shutdown ok
    [2021-03-10T19:41:28.033647] [osidown(5969)           ] [M] [OSI7141M] System server(obmjinit) shutdown ok
    [2021-03-10T19:41:28.040265] [osidown(5969)           ] [M] [OSI7141M] System server(obmjschd) shutdown ok
    [2021-03-10T19:41:28.047434] [osidown(5969)           ] [M] [OSI7141M] System server(obmjmsvr) shutdown ok
    [2021-03-10T19:41:28.076810] [osidown(5969)           ] [M] [OSI7141M] System server(ofrsmlog) shutdown ok
    [2021-03-10T19:41:28.086320] [osidown(5969)           ] [M] [OSI7141M] System server(ofruisvr) shutdown ok
    [2021-03-10T19:41:28.093782] [osidown(5969)           ] [M] [OSI7141M] System server(ofrcmsvr) shutdown ok
    [2021-03-10T19:41:28.101464] [osidown(5969)           ] [M] [OSI7141M] System server(ofrdsedt) shutdown ok
    [2021-03-10T19:41:28.108771] [osidown(5969)           ] [M] [OSI7141M] System server(ofrdmsvr) shutdown ok
    [2021-03-10T19:41:28.116562] [osidown(5969)           ] [M] [OSI7141M] System server(ofrlhsvr) shutdown ok
    [2021-03-10T19:41:28.124770] [osidown(5969)           ] [M] [OSI7141M] System server(ofrsasvr) shutdown ok
    
    TMDOWN for node(NODE1) is starting:
      TMDOWN: CLH downed: Wed Mar 10 19:41:28 2021
      TMDOWN: CLL downed: Wed Mar 10 19:41:28 2021
      TMDOWN: TLM downed: Wed Mar 10 19:41:28 2021
      TMDOWN: TMM downed: Wed Mar 10 19:41:28 2021
      TMDOWN: TMAX is down

1.3. 再起動

以下は、OSIの再起動手順です。

  1. Tmaxを起動します。(osiboot)

  2. JCLを使用してIMSID別のシステム・サーバーを起動します。

  3. コマンドを使ってIMSID別のシステム・サーバーを再起動します。OSIコマンドを使用して終了した後は、以前のシステム使用情報を取得するために再起動が必要です。

    以下は、OSIコマンドを使用してIMSIDがIMSAであるシステム・サーバーを再起動する例です。

    $ imscmd IMSA /NRE
    IMS control region : [IMSA]
    Requested command  : [NRE]
    ----------------------------------------
    NRESTART COMMAND IN PROGRESS
    *21069/195025*
    ----------------------------------------
    Command '/NRE' execution done
  4. /START DCを使用して端末がログオンできる状態にします。

  5. JCLを使用してIMSID別のユーザー・サーバーを起動するか、/START REGIONを使用して起動します。

    「/START REGION」の使用方法については、OpenFrame OSI『コマンドリファレンスガイド』を参照してください。

2. ログ管理

OpenFrame OSIシステムでは、システム・サーバーおよびMPPユーザー・サーバーとBMPユーザー・サーバーに分けてサーバー・ログを管理します。

2.1. システム・サーバーとMPPユーザー・サーバー

OSIシステム・サーバーとMPPユーザー・サーバーによって生成されるログにはOUTログとERRログがあり、これらのログは、Tmax設定ファイルのNODEセクションに設定されたULOGDIRに保存されます。ULOGDIRは、${OPENFRAME_HOME}/logのサブディレクトリとして指定することをお勧めします。

  • OUTログ

    CLOPTセクションに[-o]オプションと一緒にファイル名を指定すると、OSIシステム・サーバーとMPPユーザー・サーバーでstdout(標準出力)として書き込まれるすべてのログがファイルに出力されます。出力されるログは、OpenFrameの出力形式に従います。

    以下は、ログの出力形式です。

    [YYYY-MM-DDTHH:MI:SS.FFFFFF] [MODULE(PID)] [LEVEL] [MSGCODE] MESSAGE-CONTENTS
    項目 説明

    [YYYY-MM-DDTHH:MI:SS.FFFFFF]

    YYYY-MM-DDTHH:MI:SS.FFFFFF形式のタイムスタンプです。

    MODULE

    メッセージを出力するOSIシステムのモジュール名です。

    PID

    プロセスIDです。

    LEVEL

    以下のいずれかを出力します。

    • M(Message) : システムからユーザーへのメッセージです。サーバーの各種情報が出力されます。

    • E(Error) : システムでエラーが発生した場合に出力されるメッセージです。ユーザーがシステムに誤った情報を与える場合やシステム内でエラーが発生した場合に出力されます。

    • W(Warning) : システムでエラーが発生したが、システムの運用には影響を与えない場合に出力されます。

    • D(Debug) : デバッグ・メッセージです。

    MSGCODE

    8桁のOSIメッセージ・コードです。

    MESSAGE-CONTENTS

    ログ・メッセージが出力されるフィールドです。

    以下は、IMSAというIMSシステムでメッセージ・クラスが1であるMPPユーザー・サーバーのOUTログ・ファイルの例です。

    [2021-03-10T19:59:51.194767] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP2D] [GENERAL]LOG_LEVEL = D
    [2021-03-10T19:59:51.217509] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP1D] AGN =
    [2021-03-10T19:59:51.217539] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP2D] [SECURITY]TYPE = TACF
    [2021-03-10T19:59:51.217564] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP2D] security type is TACF[2]
    [2021-03-10T19:59:51.217591] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP3D] [GENERAL]SCHEDULE_RECOVER_MAXCNT = 5
    [2021-03-10T19:59:51.227545] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP3D] [MQ]USE_MQ = NO
    [2021-03-10T19:59:51.227821] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP1D] CTL's JOBID : JOB02316
    [2021-03-10T19:59:51.227844] [IMSAMPP_TCL1(6839)      ] [M] [OSI0291M] IMSA server boots - resource manager initialization starts
    [2021-03-10T19:59:51.229970] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP2D] [CPM]REGION_CCSID =
    [2021-03-10T19:59:51.229992] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP2D] [CPM]ASCII_TO_EBCDIC = ASCEBCUS.cpm
    [2021-03-10T19:59:51.230114] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP2D] [CPM]EBCDIC_TO_ASCII = EBCASCUS.cpm
    [2021-03-10T19:59:51.230214] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP0D] cpm version
    [2021-03-10T19:59:51.230228] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP2D] [SCREEN]3270_TYPE = 3270-A2
    [2021-03-10T19:59:51.230239] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP0D] SCREEN TYPE : A2
    [2021-03-10T19:59:51.230255] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP3D] [CPM]CONVERT_TO_SPACE = X'00'
    [2021-03-10T19:59:51.230270] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP2D] X'00'(in ASCII) will be converted X'20'
    [2021-03-10T19:59:51.230280] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP1D] null character=1a
    [2021-03-10T19:59:51.230289] [IMSAMPP_TCL1(6839)      ] [M] [OSI0101M] osimfs version: 7.2.0(4) sbaek@tmax:of7_1_mvs_dev/osi(#1) 2020-11-12 19:43:54
    [2021-03-10T19:59:51.231791] [IMSAMPP_TCL1(6839)      ] [D] [DEBUGP2D] [GENERAL]SVCLOG = N
    [2021-03-10T19:59:51.231812] [IMSAMPP_TCL1(6839)      ] [M] [OSI0291M] IMSA server boots - resource manager initialization completed
  • ERRログ

    CLOPTセクションに[-e]オプションと一緒にファイル名を指定すると、OSIシステム・サーバーとMPPユーザー・サーバーでstderr(標準エラー出力)として書き込まれるすべてのログがファイルに出力されます。出力されるログは、OpenFrameの出力形式に従います。

2.2. BMPユーザー・サーバー

BMPユーザー・サーバーは、JCLを使用してバッチ・ジョブとしてアプリケーション・プログラムを実行するため、ログはスプール・ログ・ディレクトリに作成されます。また、BMPユーザー・サーバーは、MPPユーザー・サーバーと違って1つのIMSシステムで同じサーバー・モジュールを使用するため、JOBIDで区分されたディレクトリでログを管理しています。出力されるログは、OpenFrameの出力形式に従います。

ジョブの運用管理の詳細については、OpenFrame Batch『Batchガイド』を参照してください。