OSCの運用

本章では、OSCシステムの起動および終了方法と運用中のOSCシステムに関する情報を確認・変更する機能について説明します。

1. OSCの起動と終了

OSCシステムを起動および終了するには、oscboot/oscdownツールを使用します。oscboot/oscdownツールを使用して、OSCシステム全体を起動・終了したり、特定のOSCリージョンを起動・終了することができます。

  1. OSCシステム全体ではなく、特定サーバーだけを起動または終了するには、Tmaxが提供するtmboot/tmdownツールを使用します。

  2. リージョンを起動する際には、起動前にpfmtcacheadminツールを使用してTCacheを初期化する必要があります。

1.1. OSCの起動

以下では、OSCを起動する手順を説明します。

  1. OpenFrameシステム・サーバーの起動

    oscbootツールは、${OPENFRAME_HOME}/configディレクトリにあるofsys.seqファイルに設定されているサーバーを順次に起動させます。あるサーバーが起動時に他のサーバーが提供するサービスを呼び出す場合に、サービスを提供するサーバーが起動していないとサービスを呼び出したサーバーにエラーが発生します。ofsys.seqに設定されているサーバーを順次に起動させる機能は、このようなエラーの発生を防ぐためのものです。ofsys.seqファイルは、OSCのインストール時にデフォルトで設定されています。

    oscbootツールは、内部的にoscboot.preに記述されている作業を行った後、OpenFrameシステム・サーバーを起動させます。起動プロセスがすべて終了したら、oscboot.postに記述されている作業を実行します。oscboot.preファイルとoscboot.postファイルは、${OPENFRAME_HOME}/binディレクトリに存在します。

  2. OSCシステム・サーバーの起動

    oscbootツールは、エンジン内部で指定されたOSCシステム・サーバーを起動させます。

  3. OSCユーザー・サーバーの起動

    oscbootツールは、ofosc.seqに記述されているOSCユーザー・サーバーを起動させます。

  4. OSCリージョンの起動

    osc.region.listに記述されているOSCリージョンを1つずつ起動させます。各リージョンのリソースを準備した後、OSCリージョンに属しているサーバーを起動させます。

    + 以下は、各OSCリージョンに必要なリソースを準備する手順です。

    1. 共有メモリにOSCリージョンで使用するシステム・メモリ領域を作成します。

    2. 共有メモリにOSCリージョンで使用するユーザー・メモリ領域を作成します。

    3. 共有メモリにOSCリージョンで使用するTSQのための領域を作成します。

    4. タスク・コントロール機能のためのディレクトリを作成します。

    5. パーティション内TDQデータセットを初期化します。

    6. RTSDとシステム・テーブルを作成します。

    リソースの準備が完了すると、OSCリージョンに属しているアプリケーション・サーバーと補助サーバーを起動させます。各OSCリージョンの起動時に、PLTPIに設定されたプログラムは、DFHPLTマクロのPROGRAM=DFHDELIM項目の設定に関係なく、順番に実行されます。PLTPIプログラムでEXEC CICS STARTコマンドにより要求されたトランザクションは、すべてのPLTPIプログラムの実行が終了した後に開始されます。PLTPIプログラムの実行がすべて終了すれば、OSCリージョンの起動が終了します。

  1. oscbootツールの[-r]オプションを使用して個別リージョンを起動させることができます。[-s]オプションを一緒に使用すると、リージョンで使用するリソースを作成せずに、サーバーのみを起動させることができます。

  2. DFHPLTマクロは、oscpltcツールを使用してコンパイルおよびデプロイします。oscpltcツールについての詳細は、OpenFrame OSC『ツールリファレンスガイド』を参照してください。

  3. DFHPLTマクロについての詳細は、OpenFrame OSC『リソース定義ガイド』を参照してください。

1.2. OSCの終了

以下では、OSCを終了する手順を説明します。

  1. OSCリージョンの終了

    oscdownツールは、${OPENFRAME_HOME}/configディレクトリにあるosc.region.listファイルを参照してOSCリージョンを順次に終了します。各OSCリージョンの終了時には、まずPLTSDに設定されている前処理プログラムを実行します。OpenFrame環境設定のosc.{servername}サブジェクト、GENERALセクションのPSTSDキーのVALUE項目を参照してPLTをロードし、PLTに指定されているプログラムを実行します。

    PLTSDは2段階に分けられます。

    1. DFHPLTマクロのPROGRAM=DFHDELIM項目の前に設定されたプログラムが順番に実行されます。この段階で、OSCアプリケーション・サーバーは、TRANSACTIONリソース定義のSHUTDOWN(ENABLED)項目に設定されたトランザクションが要求されるか、または、OpenFrame環境設定のosc.{servername}サブジェクト、GENERALセクションのXLTキーのVALUE項目に指定されたDFHXLTマクロに設定されたトランザクションが端末から要求された場合にのみ処理します。

    2. すべてのユーザー・トランザクションが終了した後、DFHPLTマクロのPROGRAM=DFHDELIM項目以降のプログラムが実行されます。OSCアプリケーション・サーバーは新規のユーザー・トランザクション要求を受け取りません。

    1. DFHXLTマクロは、oscxltcツールを使用してコンパイルおよびデプロイします。oscxltcツールについての詳細は、OpenFrame OSC『ツールリファレンスガイド』を参照してください。

    2. DFHPLTマクロおよびDFHXLTマクロについての詳細は、OpenFrame OSC『リソース定義ガイド』を参照してください。

    上記の手順が完了すると、当該OSCリージョンに属しているアプリケーション・サーバーとアプリケーション補助サーバーを終了します。OSCリージョンが使用したリソースを削除します。

    1. 共有メモリでOSCリージョンに割り当てられたTSQの領域を削除します。

    2. 共有メモリでOSCリージョンに割り当てられたユーザー・メモリ領域を削除します。

    3. 共有メモリでOSCリージョンに割り当てられたシステム・メモリ領域を削除します。

    4. タスク・コントロールのために生成されたディレクトリを削除します。

    5. RTSDとシステム・テーブルを削除します。

  2. OSCユーザー・サーバーの終了

    oscdownツールは、${OPENFRAME_HOME}/configディレクトリのofosc.seqに記述されているすべてのサーバーを、起動するときと逆の順序で終了させます。

  3. OSCシステム・サーバーの終了

    oscdownツールは、エンジン内部で指定されたOSCシステム・サーバーを、oscbootツールで起動時と逆の順序で終了します。

  4. OpenFrameシステム・サーバーの終了

    oscdownツールは、${OPENFRAME_HOME}/configディレクトリにofsys.seqファイルが存在する場合、起動時と逆の順序ですべてのサーバーを終了させます。この機能は、あるサーバーが終了時に他のサーバーが提供するサービスを呼び出した場合に、サービスを提供するサーバーが先に終了してサービスを呼び出すサーバーが終了できない現象を防ぎます。

    上記の手順がすべて完了した後、oscdownツールは、oscdown.preに記述された作業を先に実行した後、システム・サーバーを終了させます。システム・サーバーを終了した後は、oscdown.postに記述された作業を実行します。oscdown.preファイルとoscdown.postファイルは、${OPENFRAME_HOME}/binディレクトリに存在します。

oscdownツールの[-i]オプションを使用してシステムを終了する場合は、OSCリージョンのリソースが削除されないため、必要な場合にのみ使用してください。また、OSCリージョンを再起動するときは、oscbootツールの[-m]オプションを指定して再起動します。

2. OSCの運用

OSCの管理項目は大きく、システム・レベルの管理項目とリージョン・レベルの管理項目に分けられます。OSCシステム・レベルの管理項目には、システム・ログ検索機能、システム・リソースの検索および管理機能があります。リージョン・レベルの管理項目には、リージョン情報の検索、OSC SDテーブル管理、RTSD管理などの一般項目と、トランザクション、端末、マップなどのリージョンのリソース項目があります。

管理者はシステム全体に影響を与える管理項目とリージョンに影響を与える管理項目を区別して運用する必要があります。

2.1. システムの運用

OSCはシステム・サーバーとリージョンの運用のために、OSCシステム情報の検索、ログ検索、リソース検索機能を提供します。OSCが提供するシステム・レベルの管理項目は以下のとおりです。

  • RESP、RESP2コードの検索機能

  • システム・サーバーとアプリケーション・サーバーのログ検索機能

  • システム・リソースの検索および管理機能:名前付きカウンター、スケジュールされたトランザクション、端末

上記のシステム・レベルの運用は、OpenFrame Manager[OSC]メニューから行えます。

RESPコードの検索は、oscrespツールによっても実行できます。端末接続情報の検索および管理は、oscadminツールによっても実行できます。

OpenFrame Managerを利用したOSCシステムの運用方法については、OpenFrame Manager『ユーザーガイド』を参照してください。

2.2. リージョンの運用

OSCは、リージョン情報の検索、OSC SDおよびRTSDの管理、EDFなどの機能を提供します。また、リージョンで使用する各リソースの詳細管理機能も提供します。

OSCが提供するリージョン・レベルの管理項目は以下のとおりです。

  • リージョンの一般情報の検索

    リージョンの一般的な情報を検索する機能を提供します。リージョンの基本情報(APPLID、JOBID、SYSIDなど)とシステム・メモリの使用状態、スプールの使用状態、サーバー・ログなどを検索することができます。

    この機能は、OpenFrame Manager[OSC] > [Regions]メニューで使用できます。

  • リージョンのプロセス情報の検索

    起動しているリージョンのプロセス情報を検索できます。管理者は、サーバー・プロセスのPID、Tmaxが管理するSPRI、トランザクション関連情報、そしてユーザー・アプリケーションがEDF機能を使用してデバック中であるかどうかなどをリアルタイムで確認することができます。また、特定のサーバー・プロセスがユーザー・アプリケーションのエラーやシステム・エラー、またはその他の問題のため作業を実行できない状況にある場合は、そのプロセスを終了して実行中の作業を中断させ、新しいプロセスを起動させます。ただし、プロセスの終了機能は使用しているリソースの整合性を保証しないため、注意して使用する必要があります。

    この機能は、OpenFrame Manager[OSC] > [Regions]メニューで使用できます。

  • OSC SDテーブルの管理

    OSC SDテーブルをより便利に管理できるように、リソース定義の登録・検索・変更・削除機能を提供します。oscsdgenツールを使用してOSC SDテーブルにリソース定義を登録したり、定義されているリソースを変更および削除することができます。また、oscsddumpツールを使用して定義されているリソースを検索することができます。

    この機能は、OpenFrame Manager[OSC] > [Regions] > [System Definitions]メニューで使用できます。

  • OSC RTSDテーブルの管理

    次の3つの方法で、運用中のOSCシステムをリアルタイムで管理することができます。

    • 方法1)

      OpenFrame Manager[OSC] > [Regions] > [Runtime Resources]メニューからデータベース・テーブルにロードされたリソース定義を検索・変更・削除することができます。ただし、リソースを削除すると、運用しているアプリケーション・サーバーでそのリソースを使用できなくなります。

    • 方法2)

      OSCが提供するRTSDツールを使用して、データベース・テーブルにロードされたリソース定義を検索・登録・変更することができます。RTSDツールは、リソース定義の削除機能は提供しません。RTSDツールには、現在運用中のアプリケーション・サーバーのRTSD情報を更新するためのoscrtsdupdateツールと、RTSD情報をマクロ形式のテキスト・ファイルとして作成するためのoscrtsddumpツールがあります。

    • 方法3)

      システム・プログラミング・インターフェースを使用して管理用のOSCアプリケーションを作成します。

      ランタイム・リソースの場合は、変更可能なリソースが限られているので、リストを確認した後に変更してください。

リージョンで使用するリソースの詳細管理項目は以下のとおりです。

項目 説明

トランザクション

トランザクションが実行されるリージョン、トランザクションを要求した端末、トランザクションに対応するプログラム名、トランザクションの実行開始時間など、トランザクションに関する詳細情報を検索する機能を提供します。

トランザクション・リソースの詳細検索機能は、OpenFrame Manager[OSC] > [Regions] > [Transaction Status]メニューで使用できます。

ストレージ

GETMAINコマンドを使って、使用中のストレージ領域を詳細検索する機能を提供します。割り当てられたストレージ領域に関する情報やGETMAINを使用しているプロセスの情報を確認することができます。

ストレージ領域に関する検索機能は、OpenFrame Manager[OSC] > [Regions] > [Storage]メニューで使用できます。

端末

アプリケーションに接続している端末の一覧とネット名の検索、ゲートウェイ番号の検索機能などを提供します。アプリケーションに接続している端末の情報をリアルタイムで管理できます。

端末の詳細検索機能は、OpenFrame Manager[OSC] > [Terminals]メニューで使用できます。

TDQ/TSQ

アプリケーション・サーバーで使用しているTDQ/TSQの一覧の検索機能やTSQレコードの検索機能を提供します。また、TDQのレコードをTSQに移動する機能や、TSQのレコードをTDQにコピーする機能も提供します。これらの機能により、TDQとTSQをより便利に管理することができます。

TDQとTSQの管理機能は、OpenFrame Manager[OSC] > [Regions] > [Queues]メニューで使用できます。

OpenFrame Manager[OSC]メニューの詳しい使用方法については、OpenFrame Manager『ユーザーガイド』を参照してください。

2.3. ログ・レベルの管理

OSCシステムでは、OSCシステム・サーバーおよびユーザー・サーバーのログ・レベルとリージョンのログ・レベルを別々に管理します。

OSCシステム・サーバーおよびユーザー・サーバーのログ・レベルは、OpenFrame環境設定のoscサブジェクト、GENERALセクションのSYSTEM_LOGLVLキー値で管理します。各サーバーは起動時にこの設定値を読み込んで適用します。各リージョンのログ・レベルは、oscadminツールを使用して確認および変更することができます。変更された値は、OSCシステム・サーバーのログ・レベルとは異なり、リアルタイムで該当リージョンに反映されます。

ログ・レベルは3つに分けられます。以下は、各ログ・レベルについての説明です。

レベル 説明

E(Error)レベル

エラーが発生した場合のログ情報だけが記録されます。

I(Information)レベル

Eレベルより詳しいログ情報が記録されます。問題が発生したときに、Eレベルより詳細な情報が収集できますが、ログ・ファイルのサイズは大きくなる可能性があります(デフォルト値)。

D(Debug)レベル

問題が発生したときに、エンジンでどの操作が行われていたか、エンジンのどの部分で問題が発生したかを把握できる詳細なログ情報が記録されます。ログ・ファイルのサイズは大きくなります。

  1. oscサブジェクトの設定については、OpenFrame OSC『環境設定ガイド』を参照してください。

  2. oscadminツールについては、OpenFrame OSC『ツールリファレンスガイド』を参照してください。

以下は、OSC00001リージョンのログ・レベルを確認する例です。

oscadmin -l OSC00001

以下は、OSC00001リージョンのログ・レベルをDebugに設定する例です。

oscadmin -l OSC00001:D

3. セキュリティ管理

OSCシステムのセキュリティ管理はTACF(Tmax Access Control Facility)をベースにしています。TACFは、OpenFrameシステムにアクセスするユーザーを認証するプロセスにより、許可されていないユーザーからシステムを保護し、システムのリソースに対する権限を持たないユーザーの不正アクセスを防ぐ機能を提供します。

TACFではリージョン・サーバーごとにセキュリティ管理を設定することができます。これは、OpenFrame環境設定のosc.{servername}サブジェクト、SAFセクションで設定できます。管理者は、セキュリティの範囲をリソース全体にするか、個別リソースに制限するかを選択することができます。

リージョン・サーバーのセキュリティ設定についての詳細は、OpenFrame OSC『環境設定ガイド』を参照してください。

3.1. ユーザー・セキュリティ

OSCリージョンは、TACFにユーザーを登録することで、認可されていないユーザーからのアクセスを防ぐ機能を提供します。ユーザーはサインオンによりアクセス権限を得たトランザクションやリソースにアクセスします。

以下は、TACFを利用してOSCアプリケーションのデフォルト・ユーザーであるCICSUSERをCICSGRPグループに登録する例です。

ADDGROUP CICSGRP
ADDUSER CICSUSER DFLTGRP(CICSGRP) NOPASSWORD

ユーザーは端末に接続してCESNによりサインオンし、トランザクションやリソースにアクセスすることができます。OSCシステムを使用した後は、CESFにより安全にサインオフして、不正アクセスを防ぎます。CESNとCESFを利用せずに、アプリケーション・プログラムでSIGNON、SIGNOFFコマンドを使用して直接認証することも可能です。ユーザーが別途の認証を経ていない場合、デフォルト・ユーザー権限でアプリケーション・サーバーを動作することになります。

以下は、OSCシステムでユーザーのサインオンをサポートするデフォルトのトランザクションCESNの画面です。

figure 5 1
デフォルト・トランザクションCESN画面
  1. ユーザーの登録方法の詳細については、OpenFrame TACF『管理者ガイド』を参照してください。

  2. ユーザーの認証処理コマンドについては、OpenFrame OSC『開発者ガイド』を参照してください。

3.2. リソース・セキュリティ

OSCリージョンは、ユーザーのリソース要求に対するセキュリティ機能を提供します。個別リソースに対する要求がある場合、当該ユーザーにリソースに対するアクセス権限があるかどうかを把握して、アクセスの可否を決めます。

OSCシステムでセキュリティ・サービスを提供する個別リソースは、以下のとおりです。

  • トランザクション

  • TDQ

  • ファイル

  • 開始されたトランザクション

  • プログラム

  • TSQ

以下は、個別リソースのセキュリティのためにTACFが使用するデフォルト・リソース・クラスの名前です。リソース単位でセキュリティを適用するには、デフォルト・メンバー・リソース・クラスを使用し、リソース・グループ単位でセキュリティを適用するには、デフォルト・グループ・リソース・クラスを使用します。

デフォルト・クラス 対象 区分

TCICSTRN

トランザクション

メンバー

GCICSTRN

トランザクション・グループ

グループ

DCICSDCT

TDQ

メンバー

ECICSDCT

TDQグループ

グループ

FCICSFCT

ファイル

メンバー

HCICSFCT

ファイル・グループ

グループ

ACICSPCT

開始されたトランザクション

メンバー

BCICSPCT

開始されたトランザクション・グループ

グループ

MCICSPPT

プログラム

メンバー

NCICSPCT

プログラム・グループ

グループ

SCICSTST

TSQ

メンバー

UCICSTST

TSQグループ

グループ

個別リソースのセキュリティ機能を使用するには、以下の手順に従います。

  1. セキュリティ・ポリシーを適用するリソースをTACFのデフォルト・メンバー・リソース・クラスに登録します。あるいは、そのリソースがメンバーとして登録されているリソース・グループ・プロファイルをデフォルト・グループ・クラスに登録します。

  2. リソースのアクセス一覧にアクセスするユーザーとユーザーの権限を登録します。

  3. OpenFrame環境設定のosc.{servername}サブジェクト、SAFセクションのSECキーと各リソースのセキュリティ・キーのVALUE項目を「YES」に設定します。

以下は、OIVPトランザクションをTCICSTRNとGCICSTRNに登録し、CICSUSERにREAD権限を与える例です。トランザクション単位でセキュリティ・サービスを適用するにはTCICSTRNを利用し、トランザクション・グループ単位でセキュリティ・サービスを適用するにはGCICSTRNを利用します。

RDEFINE TCICSTRN OIVP UACC(NONE)
PERMIT OIVP CLASS(TCICSTRN) ID(CICSUSER) ACCESS(READ)
RDEFINE GCICSTRN OIVPGRP UACC(NONE) ADDMEM(OIVP, OIBR, …)
PERMIT OIVPGRP CLASS(GCICSTRN) ID(CICSUSER) ACCESS(READ)

以下は、OIVPFILEをFCICSFCTとHCICSFCTに登録し、CICSUSERにUPDATE権限を与える例です。リソース単位でセキュリティ・サービスを適用するにはFCICSFCTを利用し、リソース・グループ単位でセキュリティ・サービスを適用するにはHCICSFCTを利用します。

RDEFINE FCICSFCT OIVPFILE UACC(NONE)
PERMIT OIVPFILE CLASS(FCICSFCT) ID(CICSUSER) ACCESS(UPDATE)
RDEFINE HCICSFCT OIVPGRP UACC(NONE) ADDMEM(OIVPFILE)
PERMIT OIVPGRP CLASS(HCICSFCT) ID(CICSUSER) ACCESS(UPDATE)

OSCシステムは、TDQ、TSQ、プログラム、開始されたトランザクションに対しても同じ手順でセキュリティ・サービスを提供します。

  1. ユーザーの登録方法の詳細については、OpenFrame TACF『管理者ガイド』を参照してください。

  2. 個別リソースの詳細については、OpenFrame OSC『リソース定義ガイド』を参照してください。

4. ログ情報

ログの種類は、Tmaxの内部プロセスが作成するログ、OSCアプリケーション・サーバーまたはシステム・サーバーが作成するログ、OSCアプリケーション・サーバーで実行されたサービス情報を保存するログ、OSCシステム・コマンドの操作ログなどに分けられます。

4.1. Tmaxログ

Tmaxログは、Tmax環境設定ファイルに記述されたノード・セクションのSLOGDIR項目、TLOGDIR項目に設定されたディレクトリに生成されます。SLOGDIRには、Tmaxシステム・メッセージを保存するファイルが生成されます。TLOGDIRには、XAトランザクションが発生したときに、トランザクションに関するメッセージを保存するファイルが生成されます。

4.2. サーバー・ログ

OSCアプリケーション・サーバーとシステム・サーバーが作成するログには、OUTログERRログがあります。この2つのログは、Tmax環境設定ファイルに記述されたサーバーのノード・セクションのULOGDIR項目に設定されたディレクトリに保存されます。ULOGDIRは自由に設定できますが、${OPENFRAME_HOME}/log配下のディレクトリに設定することをお勧めします。

4.2.1. OUTログ

OSCアプリケーション・サーバーとシステム・サーバーがstdoutに記録するすべてのログは、CLOPTセクションに[-o]オプションを使用して指定したファイルに出力されます。OSCシステム・サーバーでは、OpenFrame環境設定のoscサブジェクト、GENERALセクションのSYSTEM_LOGLVLキー値に設定されたログ・レベルに従ってログが記録されます。OSCアプリケーション・サーバーと補助サーバーでは、該当OSCリージョンのログ・レベルに従ってログが記録されます。

  • フォーマット

    以下は、OUTログのフォーマットです。

    時間 ログ・レベル  メッセージ・コード  [10:モジュール名:SPRI:PID] ログ・メッセージ
    項目 説明

    時間

    日付を除いたHHMMSSタイプのタイムスタンプです。

    ログ・レベル

    E、I、D、Tのうち1つが設定されます。

    • E(Error): システムでエラーが発生した場合に出力されるメッセージで、ユーザーが正しくない情報を入力したり、システム内部でエラーが発生した場合に出力されます。

    • I(Information): システムがユーザーに情報を与えるためのメッセージです。サーバーの各種情報が出力されます。

    • D(Debug): システム・デバッグ用に出力されるメッセージです。

    • T(Test): 入出力データがある場合に、詳細デバッグ・ログが出力されます。

    メッセージ・コード

    ログ・メッセージの固有のコード番号です。

    [10:モジュール名:SPRI:PID]

    • 10: OSCの製品番号です。

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

    • SPRI: アプリケーション・サーバーのTmax SPRI値です。

    • PID: アプリケーション・サーバーのプロセスIDです。

    ログ・メッセージ

    ログ・メッセージの内容

  • 以下は、OSC00001アプリケーション・サーバーのOUTログの例です。

    172703 I OSC0011I [10:CICSRES:59:19582] OSC00001 server boots
    - resource manager initialization completed
    172703 I OSC1705I [10:DFHSIPLT:57:19584] PLTPI : PLT suffix(I1)
    173905 E OSC2010E [10:CICS:57:21240] : cics command error - EIBRESP =
    0x0000001b(PGMIDERR),
    EIBRESP2 = 0x00000001, EIBFN = 0x0e0e(HANDLE ABEND), VALFLAG = 0x18000001,
    FLAG = 0x20000000

oscサブジェクトの設定方法については、OpenFrame OSC『環境設定ガイド』を参照してください。

4.2.2. ERRログ

OSCアプリケーションまたは接続されている他のOpenFrame製品モジュールがstderrに記録するすべてのログは、CLOPTセクションに[-e]オプションを使用して指定したファイルに出力されます。

4.3. サービス・ログ

トランザクション・サーバーは、トランザクションの終了時にログ・テーブル(OFM_OSC_OLOG)にログを保存します。osclogrptツール、またはOpenFrame Managerを利用してトランザクションの統計情報を確認できます。

ログ・テーブルで管理する項目は以下のとおりです。

項目 説明

リージョン名

サービスを処理するサーバーの名前です。

トランザクション日付

トランザクションが発生した日付です。

トランザクション時刻

トランザクションが発生した時刻です。

ノード名

トランザクションを実行したノード名です。

SYSID

OSCシステムのSYSIDです。

トランザクション・クラス名

トランザクションを実行したトランザクション・クラス名です。

SPRI

トランザクションを実行したサーバーのTmax SPRIです。

PID

トランザクションを実行したプロセスのIDです。

トランザクションID

トランザクションの名前です。

トランザクション時間

トランザクションの実行にかかった時間です。

トランザクションCPU使用時間

トランザクションの実行にかかったCPU時間です。

ユーザーID

トランザクションを要求した端末にログインしたユーザーのIDです。

端末IP

トランザクションを要求した端末のIPアドレスです。

端末ネット名

端末のネット名です。

システム・エラーコード

システムのベース・エンジンであるTmaxから返された処理結果値です。

ユーザー・リターンコード

トランザクションを処理したユーザー・プログラムが返した処理結果値です。

4.4. 操作ログ

操作ログは、${OPENFRAME_HOME}/log/cmdディレクトリのosc_cmd_{YYYYMMDD}.logファイルに保存されます。OSCの起動と終了、TDLメモリの変更など、OSCシステム・コマンドの実行結果を記録します。

  • フォーマット

    以下は、操作ログのフォーマットです。ログ・レベルは、OSCシステム・コマンドが成功した場合はS(Success)、失敗した場合はE(Error)になります。ログ・レベル以外の項目は、サーバー・ログのOUTログと同じです。

    時間 ログ・レベル  モジュール名 ログ・メッセージ
    項目 説明

    ログ・レベル

    SとEのいずれかが設定されます。

    • S(Success): OSCシステム・コマンドの処理が成功した場合です。

    • E(Error): OSCシステム・コマンドの処理が失敗した場合です。

  • 以下は、操作ログの例です。

    135017 S OSCBOOT OSC system servers boot start
    135017 S OSCBOOT OSC system servers boot successfully
    135017 S OSCBOOT OSC region(OSC00001) boot start
    135029 S OSCBOOT OSC region(OSC00001) PLTPI ok
    135029 S OSCBOOT OSC region(OSC00001) boot ok
    135035 S OSCTDLUPDATE OSC region(OSC00001) module(PGM00001) tdlupdate ok
    135041 S OSCDOWN OSC region(OSC00001) shutdown start
    135101 S OSCDOWN OSC region(OSC00001) PLTSD(suffix:) ok
    135102 S OSCDOWN OSC region(OSC00001) shutdown ok
    135102 S OSCDOWN OSC system servers shutdown start
    135102 S OSCDOWN OSC system servers shutdown successfully

4.5. 監視ログ

監視ログは、OSC監視サーバーが動作するアカウントのSMFデータセットに自動で生成されます。ユーザー・トランザクションが実行されたときに、トランザクションに関連するOSCシステム情報とリソース情報をログとして記録します。ただし、監視ログを記録するためには、SMF機能を使用するための環境設定やデータセットの作成を事前に行う必要があります。SMF機能が設定されていない場合、監視ログは生成されず、誤作動する恐れがあります。

SMFデータセットに保存されるログのフォーマットは、OSC監視サーバーの環境設定によって異なります。

SMFの詳細については、IBMガイドの『CICS Customization Guide』のCICSモニタリング関連項目を参照してください。

5. サーバーの復旧

OSCシステム・サーバー・プロセスとアプリケーション・サーバー・プロセスは、内部的なエラーやユーザー・プログラムの問題のため、オペレーティング・システムにより強制終了される場合があります。またハードウェアの問題により、OSCシステムを起動しているノード全体が予想外の終了につながることもあります。また何らかの問題で、アプリケーション・サーバー・プロセスが内部的にリンクされている他の製品や他のOSCサーバーと接続が切れることもあります。

5.1. OSCシステム・サーバーの復旧

OSCシステム・サーバーでサーバー・プロセスに問題が発生すると、Tmax環境設定のRESTARTオプションにより新しいサーバー・プロセスが起動されます。内部で使用するサーバー情報構造体に問題が発生しない限り、新しいプロセスは以前の状態を復旧し、OSCアプリケーション・サーバーでサービスを継続して提供します。ただし、OSCDFSVRは、再起動されたときに既存の接続情報がすべて初期化されます。

マルチノード環境では、システム・サーバーのOSCNCSVR、OSCSCSVR、OSCDFSVRが動作していたノードで障害が発生すると、新しいサーバー・プロセスを他のノードで再起動するように設定します。

各システム・サーバーは、障害が発生したときに以下のような特徴を持ちます。

サーバー 障害時の動作

OSCNCSVR

他のノードで再起動された場合でも、OpenFrame環境設定のoscサブジェクト、GENERALセクションのNCS_FILEキーに共有ディスクの同一ファイルが指定されている場合は、継続してサービスを提供できます。

OSCSCSVR

バックアップ設定を行った場合は残っている要求を処理し、バックアップ設定を行っていない場合は新規要求だけを処理します。

OSCDFSVR

実行していた既存のEDF機能はすべてエラー処理されます。EDF機能を再開始する必要があります。

oscサブジェクトの設定方法については、OpenFrame OSC『環境設定ガイド』を参照してください。

5.2. OSCアプリケーション・サーバーと補助サーバーの復旧

OSCアプリケーション・サーバーでサーバー・プロセスが予想外のエラーによって終了された場合、OSCアプリケーション・サーバーはアプリケーション・レベルのリカバリ管理を行います。問題が発生したトランザクションは異常終了され、復旧可能なリソースはロールバックされます。その後、Tmax環境設定のRESTARTオプションにより自動または手動で新しいサーバー・プロセスが起動され、次のトランザクションを処理します。ノードが異常終了した場合は、Tmaxエンジンがリカバリ管理を行います。

OSCアプリケーション・サーバー・プロセスは起動時に、TSAMデータセットを使用するためにTiberoサーバーまたは他のデータベース製品と接続しますが、ネットワーク・エラーなどの予期せぬ問題のため、接続が切断されることがあります。ファイル、補助TSQ、パーティション内TDQなど、TSAMにアクセスしようとするトランザクション内部の要求に対してアプリケーションにエラー応答を返し、該当トランザクションの復旧可能なTSAMデータセットのアクセス要求はロールバックされます。以降、同じサーバー・プロセスから要求されたトランザクションは、新しい接続が確立されるまで待機状態に置かれます。接続タイムアウト期間内に再接続が確立されない場合、トランザクションはTSAMへの接続時にもう一度エラーを発生させ、終了します。

TACF製品を使用するためにも、データベース製品に接続する必要があります。この場合もTSAMへの接続と同様に、ネットワーク・エラーなどの予期せぬ問題のため接続が切断されることがあります。そのような場合、TACFへの要求はエラーを発生させ、ユーザー・アプリケーションに関連エラーを返し、次のTACF要求がある際に再接続を試みて接続を回復します。

OSCアプリケーション・サーバーは補助サーバーのOSC TDQログ・サーバーとTCP/IPソケット通信でデータを送受信しますが、ネットワーク・エラーなどの問題が発生した場合は、該当ログTDQへのアクセスは失敗し、ユーザー・アプリケーションの次のアクセス要求時に再接続を試みて接続を回復します。

リソースの使用に関する詳細は、OpenFrame OSC『開発者ガイド』を参照してください。

6. 日時の設定

OSCシステム・サーバーは基本的にCICSのASKTIMEコマンドで現在起動しているシステム・サーバーの日付と時間を取得してOSCシステムの日付として設定します。しかし、必要によっては特定の時間にOSCシステム全体または特定のユーザー・プログラムをテストしなければならない状況が発生することがあります。そのためOSCでは、OSCシステム全体または特定のリージョンやユーザー・プログラムの日付と時間をユーザーが任意に設定できるTX_TIMEという機能を提供します。

TX_TIMEの設定については、OpenFrame Manager『ユーザーガイド』の「OSC」を参照してください。

6.1. 日時設定の準備

以下では、TX_TIME機能を使用するために必要な準備手順を説明します。

  1. DBテーブルの確認

    システム・テーブルのOFM_OSC_TX_TIMEを確認します。(OSCのインストール時に、oscinitツールにより生成されます。)

  2. OSCの設定

    OpenFrame環境設定のoscサブジェクト、GENERALセクションのENABLE_TX_TIMEキー値を「YES」に指定します。

    oscサブジェクトの設定方法については、OpenFrame OSC『環境設定ガイド』を参照してください。

  3. TCacheの設定

    pfmtcache.cfgファイルに以下の内容を設定します。(pfmtcache.cfgファイルは、OSCのインストール時にデフォルトで含まれています。)

    # cache for OFM_OSC_TX_TIME
    CACHE_NAME=OFM_OSC_TX_TIME
    SIZE_MEM=32         # the total cache memory size in kilo-bytes
    SIZE_HASH=32        # the number of hash key (MAX=65536)
    SIZE_KEY=14         # the number of digits of the index column
    SIZE_REC=38         # the size of a single record in bytes
    INV_TIMEOUT=10      # invalidation timeout in sec

6.2. 日時の設定

TX_TIME機能は、DBテーブルに保存されたデータを使用してOSCシステムの日付と時間を設定します。

以下は、TX_TIME DBテーブル項目についての説明です。

項目 説明

CONTROL_TYPE

ユーザーの日付と時間を設定するKEY_IDのタイプです。

  • Transaction (TX) : KEY_IDのタイプがトランザクションの場合

  • Terminal (TM) : KEY_IDのタイプが端末の場合

  • User (UR) : KEY_IDのタイプがユーザーの場合

  • Region (RG) : KEY_IDのタイプがリージョンの場合

各タイプの優先順位は、Transaction > Terminal > User > Regionの順になります。

KEY_ID

ユーザーの日付と時間を設定するターゲットのIDを指定します。ID範囲の設定をサポートする「*」を最大1つまで含めることができます。

USER_DATE

日付を「YYYYMMDD」の形式で指定します。

TIME_TYPE

指定する時間のタイプです。

  • Absolute (A) : ユーザーが設定した時間に固定したい場合

  • Minus (M) : システム時間を基準にユーザーが設定した時間を引きたい場合

  • Plus (P) : システム時間を基準にユーザーが設定した時間を足したい場合

USER_TIME

時間を「hhmmss」の形式で指定します。

LAST_REG_USER

最後にデータを保存したユーザーの名前です。

LAST_REG_TIME

ユーザーが最後にデータを保存した時間です。「YYYYMMDD hhmmss」の形式で指定します。

LAST_UPDT_USER

最後にデータを修正したユーザーの名前です。

LAST_UPDT_TIME

ユーザーが最後にデータを修正した時間です。「YYYYMMDD hhmmss」の形式で指定します。

6.3. 日時の変更

以下では、TX_TIME DBテーブルのデータの日付と時間を変更する方法について説明します。

  1. TCacheの初期化

    TCacheに保存されているデータを初期化して、新しい日付と時間をロードする準備をします。データの初期化は、TCacheの管理者ツールのpfmtcacheadminを使用するか、OpenFrame Managerを利用して行います。

    以下は、pfmtcacheadminツールを使用してTCacheにロードされたTX_TIME DBテーブルのデータを初期化する例です。

    pfmtcacheadmin -i OFM_OSC_TX_TIME
  2. 日時の更新

    OpenFrame ManagerのTX_TIME機能を利用して、TX_TIME DBテーブルのデータの日付と時間を更新します。

    32ビット環境では2038年問題のため、2038年1月19日が過ぎると、1970年1月1日にリセットされるため、2038年以降の時間は使用しないようにしてください。

7. リソースの自動インストール

OSCシステム・サーバーを運用するには、サーバーの運用に必要なリソースをシステム定義に定義する必要がありますが、一部リソースはシステム定義に直接定義しなくても、OSCシステムがリソースを自動でインストールするようにすることができます。自動でインストールするリソース・モデルを事前にシステム定義に定義しておくと、リソースの自動インストール(AutoInstall)機能により、システム定義に定義されていないリソースの使用要求があったときに、あらかじめ定義したモデルを基準にリソースを作成します。

7.1. プログラムの自動インストール

以下は、プログラムの自動インストールを準備する手順です。

  1. 環境設定

    OpenFrame環境設定のosc.{servername}サブジェクト、AUTINSTセクションのPGAIEXITキー値として自動インストール制御プログラム名を指定します。

    osc.{servername}サブジェクトの設定方法については、OpenFrame OSC『環境設定ガイド』を参照してください。

  2. 制御プログラムの作成

    OSC環境設定に定義された制御プログラムは、ユーザーがシステム定義に定義されていないプログラムを実行したときに、OSCシステム内部で呼び出されます。

    制御プログラムは、インストールするプログラム名を入力として受けて、ユーザーが作成したロジックに従ってプログラム・リソース・モデル名を返します。結果として、OSCはリソース・モデルと同じ属性を持つプログラム・リソースを新規作成して実行させます。

    以下は、プログラム名('TARGETPGM')を入力として受けて、プログラム・リソース・モデル名('MODELPGM')を返す制御プログラムの作成例です。

            IDENTIFICATION DIVISION.
            PROGRAM-ID. OSCPGACC.
            ENVIRONMENT DIVISION.
            DATA DIVISION.
            WORKING-STORAGE SECTION.
    
          * Commarea constants
            01 PGAC-CONSTANTS.
          * Module type
             03 PGAC-TYPE-PROGRAM      PIC X VALUE '1'.
             03 PGAC-TYPE-MAPSET       PIC X VALUE '2'.
             03 PGAC-TYPE-PARTITIONSET PIC X VALUE '3'.
          * Language
             03 PGAC-ASSEMBLER         PIC X VALUE '1'.
             03 PGAC-COBOL             PIC X VALUE '2'.
             03 PGAC-PLI               PIC X VALUE '3'.
             03 PGAC-C370              PIC X VALUE '4'.
             03 PGAC-LE370             PIC X VALUE '5'.
          * CEDF status
             03 PGAC-CEDF-YES          PIC X VALUE '1'.
             03 PGAC-CEDF-NO           PIC X VALUE '2'.
          * Data location
             03 PGAC-LOCATION-BELOW    PIC X VALUE '1'.
             03 PGAC-LOCATION-ANY      PIC X VALUE '2'.
          * Execution key
             03 PGAC-CICS-KEY          PIC X VALUE '1'.
             03 PGAC-USER-KEY          PIC X VALUE '2'.
          * Load attribute
             03 PGAC-RELOAD            PIC X VALUE '1'.
             03 PGAC-RESIDENT          PIC X VALUE '2'.
             03 PGAC-TRANSIENT         PIC X VALUE '3'.
             03 PGAC-REUSABLE          PIC X VALUE '4'.
          * Share status
             03 PGAC-LPA-YES           PIC X VALUE '1'.
             03 PGAC-LPA-NO            PIC X VALUE '2'.
          * Execution set
             03 PGAC-DPLSUBSET         PIC X VALUE '1'.
             03 PGAC-FULLAPI           PIC X VALUE '2'.
          * Dynamic status
             03 PGAC-DYNAMIC-YES       PIC X VALUE '1'.
             03 PGAC-DYNAMIC-NO        PIC X VALUE '2'.
          * Concurrency
             03 PGAC-QUASIRENT         PIC X VALUE '1'.
             03 PGAC-THREADSAFE        PIC X VALUE '2'.
             03 PGAC-REQUIRED          PIC X VALUE '3'.
          * Api
             03 PGAC-CICSAPI           PIC X VALUE '1'.
             03 PGAC-OPENAPI           PIC X VALUE '2'.
          * JVM
             03 PGAC-JVM-YES           PIC X VALUE '1'.
             03 PGAC-JVM-NO            PIC X VALUE '2'.
          * Return code
             03 PGAC-RETURN-OK         PIC X VALUE '1'.
             03 PGAC-RETURN-DONT-DEFINE-PROG PIC X VALUE '2'.
    
            LINKAGE SECTION.
          * Include Program Autoinstall commarea
            01 DFHCOMMAREA.
               COPY DFHPGACO.
    
            PROCEDURE DIVISION.
                   IF  PGAC-MODULE-TYPE = PGAC-TYPE-PROGRAM
                       IF PGAC-PROGRAM = 'TARGETPGM'
                           MOVE 'MODELPGM' TO PGAC-MODEL-NAME
                       END-IF
                   END-IF.
                   MOVE PGAC-RETURN-OK TO PGAC-RETURN-CODE.
                   EXEC CICS RETURN END-EXEC.
  3. プログラム・モデルの定義

    システム定義に自動インストールするプログラム・モデルを定義します。一般的なプログラム・リソース定義と同じ方法で定義します。プログラムが自動インストールされる際に、ここで定義したモデルの属性を取得します。