システム環境設定
本章では、OSIシステムを運用するために必要な環境設定の方法および例について説明します。
2. システム環境設定ファイル
OSIシステムに必要なシステム設定値のうち、動的に適用できない項目のほとんどは環境設定ファイルに記述され、指定された値はOSIシステムの起動時に適用されます。
2.1. openframe_osi.conf
OSIシステムを運用するには、openframe_osi.confファイルに以下のサブジェクトを設定した後、ofconfigツールを使用してOpenFrameシステムに適用する必要があります。
サブジェクト | 説明 |
---|---|
osi |
OSIシステムのすべてのモジュールが共通して参照するサブジェクトです。設定値は、OSIのすべてのモジュールに適用されます。 |
osi.[IMSID] |
OSIで各IMSシステムのIMSIDで区分されます。設定値は、IMSシステムのすべてのモジュールに適用されます。IMSIDは、4桁の英数字で指定します。 |
osi.[osiotmasvrname] |
OSIとIBM MQの連携やOTMA機能を使用するための設定です。1つのOTMAサーバーに1つのサブジェクトが必要です。osiotmasvrnameには、MQユーザー・サーバーに設定されたサーバー名を指定します。 |
ssm.[IMSID][SSM] |
OSIでIMSシステムごとにMultipleRMを使用するために、Tmax XAサーバーに適用する項目を設定します。 |
|
2.2. osi.ofsys.seq
OSIシステムでリージョン・サーバーを除くBase、Batch、TACFサーバーの名前を指定し、osibootを実行するときに起動するTmaxサーバーを選択することができます。OTMAサーバーもこれに含まれます。
以下は、osi.ofsys.seqの例です。
#BASE TPFMAGENT ofrsasvr ofrlhsvr ofrdmsvr ofrdsedt ofrcmsvr ofruisvr ofrsmlog #BATCH obmjmsvr obmjschd obmjinit obmjhist obmjspbk ofrpmsvr obmtsmgr obmjtimr #TACF tmsvr #OSI #IMSAOTMA
2.3. TCacheの設定
OSIは、マルチノード・クラスタリング機能をサポートするために、RTSDを含むリージョン間で共有が必要な情報をDBテーブルで管理しています。TCacheを使用してDBテーブルからアクセスするデータを共有メモリにキャッシュすることで、読み取り性能を保証しています。TCacheはノードごとに設定する必要であり、使用する共有メモリ・キーとリージョン別のリソース情報を設定します。
基本設定の詳細については、『Tmax TCacheガイド』を参照してください。 |
以下は、pfmtcache.confの例です。LOCK_WAITTIMEは、使用するTCacheバージョンに合わせて設定してください。
# the configuration file of TCACHE SHMKEY=0x70005 # the key of shared memory IPCPERM=0600 # permission of the shared memory SIZE_LOCAL=32 # L1 cache size in kilo-bytes LIB_PTHREAD=libpthread.so # the pthread library file name INVALIDATE_TYPE=0 # Invalidate type 0:multi-node 1:multi-domain AGENT_SVC=SPFMAGENT # multi-node sync. svc SPFMAGENT|2 = SPFMAGENT01, SPFMAGENT02 # lock wait time for earlier than r11724 # LOCK_WAITTIME=1000 # read, write lock wait time (default: 1000) # lock wait time for r11724 and later # WRITE_LOCK_WAITTIME=1000 # write lock wait time (default: 1000, recommed larger value than READ_LOCK_WAITTIME) # READ_LOCK_WAITTIME=1000 # read lock wait time (default: 0) # cache for OSI Region Status CACHE_NAME=OFM_OSI_REGION_STATUS # table name SIZE_MEM=32 # the total cache memory size in kilo-bytes SIZE_HASH=32 # the number of hash key (MAX=65536) SIZE_KEY=4 # the number of digits of the index column SIZE_REC=8 # the size of a single record in bytes INV_TIMEOUT=0 # invalidation timeout in sec # cache for IMSA Region CACHE_NAME=IMSA # IMSID SIZE_MEM=65535 # the total cache memory size in kilo-bytes SIZE_HASH=32 # the number of hash key (MAX=65536) SIZE_KEY=13 # the number of digits of the index column SIZE_REC=289 # the size of a single record in bytes INV_TIMEOUT=0 # invalidation timeout in sec #cache for OFM_OSI_DBD CACHE_NAME=OFM_OSI_DBD # the name of cache SIZE_MEM=65535 # the total cache memory size in kilo-bytes SIZE_HASH=32 # the number of hash key (MAX=65536) SIZE_KEY=64 # the number of digits of the index column SIZE_REC=2048 # the size of a single record in bytes INV_TIMEOUT=0 # invalidation timeout in sec #cache for OFM_OSI_PSB CACHE_NAME=OFM_OSI_PSB # the name of cache SIZE_MEM=65535 # the total cache memory size in kilo-bytes SIZE_HASH=32 # the number of hash key (MAX=65536) SIZE_KEY=64 # the number of digits of the index column SIZE_REC=1024 # the size of a single record in bytes INV_TIMEOUT=0 # invalidation timeout in sec
3. ライブラリの設定
システムを起動する前に、システムの運用に必要な情報を準備しておく必要があります。本節では、OSIの運用に必要な情報をタイプごとに準備する手順について説明します。ほとんどの情報は、RDB表のレコード形式で保存され、MDAやMFSなどの一部は、データセットまたはUNIXファイル形式で保存されます。
以下は、OSIの運用に必要なライブラリです。
ライブラリ | 説明 |
---|---|
OpenFrame HiDBを使用するためのDBD情報が含まれるライブラリです。 |
|
データセットを動的に使用するために必要な情報が含まれるライブラリです。 |
|
OSIでマッピング機能をサポートするためのMFS情報が含まれるステージング・ライブラリです。 |
|
OSIでマッピング機能をサポートするためのMFS情報が含まれ、実際にオンラインで使用されるライブラリです。 |
|
PSBとDBDを統合管理するためのACB情報が含まれるステージング・ライブラリです。 |
|
PSBとDBDを統合管理するためのACB情報が含まれ、実際にオンラインで使用されるライブラリです。 |
|
OSIを運用するためのシステム情報が含まれるステージング・ライブラリです。 |
|
OSIを運用するためのシステム情報が含まれ、実際にオンラインで使用されるライブラリです。 |
|
動的変更をサポートするデータセットの現在のアクティブなデータセット情報が含まれるライブラリです。 |
|
アプリケーション・プログラムを使用するためのPSB情報が含まれるライブラリです。 |
|
データセットの動的使用に必要なMDA情報が含まれるライブラリです。(DFSRESLBと同じ) |
|
アプリケーション開発者が作成したプログラムの共有オブジェクト形式の実行モジュールを管理するためのディレクトリです。 |
|
3.1. DBDLIB
DBDは、OpenFrame HiDBの特性を定義する一連のマクロ・パラメータ・ステートメントです。データベース構造、アクセス・メソッド、データベース内のセグメント、フィールド、セグメント・タイプ間の関係を定義します。
データセットの作成
DBDLIBを使用するには、システムを準備する際にデータセットを作成する手順が必要です。DBDLIBはPDS形式で構成され、個々の環境設定ファイルはDBDLIBのメンバー形式で保存されます。OSIでDBDLIBを作成するには、pdsgenツールを使用します。
以下は、pdsgenを使用してDEFVOLボリュームにIMS.DBDLIBを作成する例です。
$ pdsgen IMS.DBDLIB DEFVOL -f LB -l 32760
pdsgen version 7.1.0(0) oframe@tmax:ofsrc/base(#1) 2020-06-29 17:30:26
PDS Dataset Generation Program
pdsgen: *** PDS IMS.DBDLIB is created.
DBD情報の登録
OSIでDBDを使用するには、dbdgenツールを使用してDBD情報を登録する必要があります。
以下は、DBD制御文が含まれているOIVPIDBDファイルでdbdgenを使用してDBD情報を登録する例です。
$ dbdgen OIVPIDBD
dbdgen version 7.2.0(0) oframe@tmax:ofsrc/ims(#3) 2020-08-08 16:21:16
Database Description Block Generation Program
dbdgen: force flag on; the tool overwrites existing data
dbdgen: 1 files are requested in total
------------------------------------------------------------
dbdgen: processing DBD script "OIVPIDBD"
------------------------------------------------------------
dbdgen: processing DBD "OIVPIDBD"
dbdgen: removing existing DBD OIVPIDBD metadata
dbdgen: successfully processed DBD "OIVPIDBD"
dbdgen: successfully processed for the requested DBDs (total 1)
現在のバージョンでは、dbdgenを実行するとDBDスクリプトに記述されているデータベース・スキーマ情報がメタ表に保存され、実際にDBDLIBには何も保存されません。 |
3.2. DFSRESLB
PSBリソースを使用するプログラムを起動するには、使用するPSB情報とDBDに定義したデータセット情報をプログラムに送信できる方法が必要です。
OpenFrame BatchはJCLを使用してアプリケーション・プログラムを実行するため、JCLのDDステートメントを使用してPSB情報とDBDのデータセット情報をプログラムに送信できます。ただし、OSIは1つのリージョンで複数のプログラムを実行する必要があり、リージョンを起動するときに使用するJCLにはすべてのDFD文を記述できないため、OpenFrame Batchとは異なる方法で必要な情報をプログラムに送信する必要があります。したがってOSIでは、データセットの動的使用に必要な情報をDFSRESLBに保存する方法を使用します。
動的DDの割り当てについては、IBM IMS DFSMDA macroマニュアルを参照してください。 |
データセットの作成
DFSRESLBを使用するには、システムを準備する際にデータセットを作成する手順が必要です。DFSRESLBはPDSデータセット形式で構成され、個々の設定ファイルはDFSRESLBのメンバー形式で保存されます。OSIでDFSRESLBを作成するためにpdsgenツールを使用します。
以下は、pdsgenを使用してDEFVOLボリュームにIMS.RESLIBを作成する例です。
$ pdsgen IMS.RESLIB DEFVOL -f LB -l 32760
pdsgen version 7.1.0(0) oframe@tmax:ofsrc/base(#1) 2020-06-29 17:30:26
PDS Dataset Generation Program
pdsgen: *** PDS IMS.RESLIB is created.
MDA情報の登録
OSIでMDAを使用するには、imsdalocツールを使用してMDA情報を登録する必要があります。
以下は、MDAを定義するスクリプトが含まれているOIVPIDBDファイルを使用してDFSRESLBにMDA情報を登録する例です。
<OIVPIDBD>
DFSMDA TYPE=DATABASE,DBNAME=OIVPIDBD DFSMDA TYPE=DATASET,DSNAME=IMS.TEST.OIVPI,DDNAME=OIVPI END
imsdalocを使用してMDA情報を登録します。
$ imsdaloc -l IMS.RESLIB -v DEFVOL OIVPIDBD
imsdaloc version 7.2.0(0) oframe@tmax:ofsrc/ims(#3) 2020-08-08 16:21:16
Dynamic Allocation Block Generation Program
IMSDALOC FCOUNT=1,RESLIB=IMS.RESLIB,VOLSER=DEFVOL
------------------------------------------------------------
*** processing filepath="OIVPIDBD"
------------------------------------------------------------
mdaparser: *** dfsmda_statement matched!
mdaparser: *** dfsmda_statement matched!
mdaparser: *** end_statement matched!
mdaparser: *** mda_generation finished!!!
------------------------------------------------------------
*** ims_parse_mda("OIVPIDBD") success.
------------------------------------------------------------
MDA TYPE=DATABASE,DBNAME=OIVPIDBD
DATASET TYPE=DATASET,DDNAME=OIVPI,DSNAME=IMS.TEST.OIVPI,DISP=
------------------------------------------------------------
*** ims_print_mda("OIVPIDBD") success.
------------------------------------------------------------
PROGRAM COMPLETED SUCCESSFULLY.
3.3. FORMAT / FORMATA / FORMATB
FORMATは、OSIでマッピング機能をサポートするためのMFS情報が含まれるステージング・ライブラリです。
マッピング機能とは、フォーマットを使用してフォーマット内に定義されているフィールドとアプリケーション・データ間の関係をマッピングする機能です。 MODBLKSとIMSACBデータセットを準備します。
データセットの作成
FORMATを使用するには、システムを準備する際にデータセットを作成する手順が必要です。
FORMATはPDS形式で構成され、各環境設定ファイルはMFDLIBのメンバー形式で保存されます。OSIでFORMATを作成するにはpdsgenツールを使用します。
以下は、pdsgenを使用してDEFVOLボリュームにOSI.IMSA.MFSLIBを作成する例です。
$ pdsgen OSI.IMSA.MFSLIB DEFVOL -f LB -l 32760
pdsgen version 7.1.0(0) oframe@tmax:ofsrc/base(#1) 2020-06-29 17:30:26
PDS Dataset Generation Program
pdsgen: *** PDS OSI.IMSA.MFSLIB is created.
マップ情報の登録
以下は、OIVP001.TXTファイルを使用してOSI.IMSA.MFSLIBにマップ情報を登録する例です。
<OIVP001.TXT>
PRINT ON,NOGEN ******************************************************************* TITLE 'FORMAT SET FOR OPENFRAME ONLINE IVP' ******************************************************************* OIVP001 FMT DEV TYPE=(3270,2), X FEAT=IGNORE, X DSCA=X'00A0', X PFK=(PFKFIELD, X 12='/FOR OIVP006O') DIV TYPE=INOUT DPAGE CURSOR=((7,40)), X FILL=PT CURDATE DFLD POS=(1,2), X LTH=8, X ATTR=(PROT,ALPHA,NORM,NOMOD) DFLD '** WELCOME TO OPENFRAME ONLINE **', X POS=(2,24), X ATTR=(PROT,ALPHA,HI,NOMOD), X EATTR=YELLOW DFLD '-------------------------------------------------------X -----------------------', X POS=(3,2), X ATTR=(PROT,ALPHA,NORM,NOMOD), X EATTR=YELLOW DFLD '** OSI INSTALLATION VERIFICATION PROCEDURE **', X POS=(4,17), X ATTR=(PROT,ALPHA,HI,NOMOD), X EATTR=GREEN DFLD 'CODE ', X POS=(7,34), X ATTR=(PROT,ALPHA,NORM,NOMOD) CODE DFLD POS=(7,40), X LTH=4, X ATTR=(NOPROT,ALPHA,NORM,MOD), X EATTR=HREV DFLD ' ', X POS=(7,45), X ATTR=(PROT,ALPHA,HI,NOMOD) DFLD 'INQR INQUIRY ACCOUNT INFORMATION', X POS=(10,23), X ATTR=(PROT,ALPHA,HI,NOMOD) DFLD 'INSR INSERT NEW ACCOUNT', X POS=(11,23), X ATTR=(PROT,ALPHA,HI,NOMOD) DFLD 'UPDT UPDATE ACCOUNT INFORMATION', X POS=(12,23), X ATTR=(PROT,ALPHA,HI,NOMOD) DFLD 'DELT DELETE ACCOUNT', X POS=(13,23), X ATTR=(PROT,ALPHA,HI,NOMOD) DFLD '-------------------------------------------------------X -----------------------', X POS=(18,2), X ATTR=(PROT,ALPHA,NORM,NOMOD), X EATTR=YELLOW ERRMSG DFLD POS=(19,2), X LTH=79, X ATTR=(PROT,ALPHA,NORM,NOMOD), X EATTR=TURQ DFLD 'ENTER APPROPIATE CODE.', X POS=(20,2), X ATTR=(PROT,ALPHA,NORM,NOMOD), X EATTR=PINK DFLD '-------------------------------------------------------X -----------------------', X POS=(21,2), X ATTR=(PROT,ALPHA,NORM,NOMOD), X EATTR=YELLOW DFLD '[SYS INFO] - OSI IVP STARTING NOW', X POS=(22,2), X ATTR=(PROT,ALPHA,HI,NOMOD), X EATTR=RED CURTIME DFLD POS=(22,71), X LTH=8, X ATTR=(PROT,ALPHA,NORM,NOMOD), X EATTR=RED DFLD '-------------------------------------------------------X -----------------------', X POS=(23,2), X ATTR=(PROT,ALPHA,NORM,NOMOD), X EATTR=YELLOW DFLD 'CopyRight(c) 2007, TmaxSoft, All Rights Reserved.', X POS=(24,31), X ATTR=(PROT,ALPHA,NORM,NOMOD), X EATTR=BLUE FMTEND ********************************************************************* EJECT ********************************************************************* OIVP001I MSG TYPE=INPUT, X SOR=(OIVP001,IGNORE), X NXT=OIVP001O SEG MFLD 'OIVPMPP1', X LTH=8 MFLD CODE, X LTH=4 MSGEND ********************************************************************* OIVP001O MSG TYPE=OUTPUT, X SOR=(OIVP001,IGNORE), X NXT=OIVP001I SEG MFLD (CURDATE,DATE2) MFLD CODE, X LTH=4 MFLD ERRMSG, X LTH=79 MFLD (CURTIME,TIME) MSGEND ********************************************************************* END
osimfsgenを使用してマップ情報を登録します。
$ osimfsgen -m OSI.IMSA.MFSLIB OIVP001.TXT
osimfsgen 7.2.0(0) oframe@tmax:ofsrc/osi(#1) 2020-11-12 19:43:54
[/home/oframe/products/ofsrc/OpenFrame/volume_default/OSI.IMSA.MFSLIB/OIVP001.mfs] create ok.
[/home/oframe/products/ofsrc/OpenFrame/volume_default/OSI.IMSA.MFSLIB/OIVP001I.mfs] create ok.
[/home/oframe/products/ofsrc/OpenFrame/volume_default/OSI.IMSA.MFSLIB/OIVP001O.mfs] create ok.
3.4. IMSACB / IMSACBA / IMSACBB
OSIでPSBとDBD情報は個別に管理、運用されるのではなく、PSBとDBDが1つのライブラリで統合管理されます。PSBとDBDが統合されたライブラリをACBと呼びます。MODBLKSと同様に3つのデータセットを準備します。
データセットの作成
ACBLIBを使用するには、システムを準備する際にデータセットを作成する手順が必要です。ACBLIBはPDS形式で構成され、個々の環境設定ファイルはACBLIBのメンバー形式で保存されます。OSIでPSBLIBを作成するためにはpdsgenツールを使用します。
以下は、pdsgenを使用してDEFVOLボリュームにIMS.ACBLIBを作成する例です。
$ pdsgen IMS.ACBLIB DEFVOL -f LB -l 32760
pdsgen version 7.1.0(0) oframe@tmax:ofsrc/base(#1) 2020-06-29 17:30:26
PDS Dataset Generation Program
pdsgen: *** PDS IMS.ACBLIB is created.
ACB情報の登録
OSIでACBを使用するには、acbgenツールを使用してACB情報を登録します。
以下は、PSBLIBのOIVPI002という名前のPSBに対してACBLIBにACB情報を登録する例です。
$ acbgen build -p IMS.PSBLIB -d IMS.DBDLIB -l IMS.ACBLIB PSB=OIVPI002
acbgen version 7.2.0(0) oframe@tmax:ofsrc/ims(#3) 2020-08-08 16:21:16
Application Control Block Generation Program
ACBGEN COMMAND=BUILD,OPERAND=(PSB=OIVPI002),ACBLIB=IMS.ACBLIB
------------------------------------------------------------
*** ACBGEN BUILD PSB=OIVPI002
------------------------------------------------------------
*** BUILDING PSB BLOCK....... PSBNAME=OIVPI002
*** BUILDING DBD BLOCK....... DBDNAME=OIVPIDBD
*** BUILDING DBD BLOCK....... DBDNAME=OIVPIX1
------------------------------------------------------------
PROGRAM COMPLETED SUCCESSFULLY.
現在のバージョンでは、acbgenを実行すると、DBDメタ情報およびPSBメタ情報を使用してACBメタ情報を作成した後、各メタ表に保存されます。実際にACBLIBには何も保存されません。 |
3.5. MODBLKS / MODBLKSA / MODBLKSB
IMS/DCでマクロを使用して登録および管理するシステム定義を、OSIではOSD(Online System Definition)と呼ばれる構造に置き換えられます。
OSDは、OSIを運用するために必要な各種システムの設定情報のうち、動的に運用できる情報を保存するリージョンです。OSDは、実際にデータが保存されるデータセットとOSDを管理するためのモジュールで構成されます。OSDは、システムが起動する際にRTSD(RunTime System Definition)という別のリージョンがアクティブ化され、システム情報の動的な管理およびOSDの変更を容易にします。
データセットは、ステージング・ライブラリとサフィックスAとBが付けられた3つを準備します。データは、AとBに直接登録できますが、動的に変更する場合は、ステージング・ライブラリに保存された情報を動的変更ツールとコマンドを使用して適用します。
現在のバージョンでOSDのデータは、データセットではなく、メタ表に保存および管理されます。ステージング・ライブラリを含む3つのデータセットは、制御リージョンの起動時にのみ必要であり、実際にデータセットには何も保存されません。 |
表の作成
OSDを使用するには、システムを準備する際にメタ表を作成する必要があります。メタ表は、osiinitツールを使用して作成できます。
以下は、osiinitツールを使用してOSDのAPPLCTNマクロ関連の情報を保存するメタ表をDEFVOL表領域に作成する例です。
$ osiinit create -t OFM_OSI_SD_APPLCTN -st DEFVOL
osiinit version 7.2.0(0) oframe@tmax:ofsrc/osi(#1) 2020-11-12 19:43:54
Initialize OpenFrame OSI System Tables
Creating OFM_OSI_SD_APPLCTN...
> "OFM_OSI_SD_APPLCTN" created...
メタ表の詳細については、リソース表を参照してください。 |
データセットの作成
IMS/DCで制御リージョンを起動するJCLをOSIでそのまま使用するには、システムを準備する際にデータセットを作成する必要があります。データセットは、idcamsを使用して作成できます。
以下は、idcamsツールを使用してDEFVOLボリュームにOSDデータセットを作成する例です。
$ idcams define -t CL -n OSI.IMSA.DEFLIB -o KS -k 10,0 -l 100,32760 -s 1024,128,128 -v DEFVOL
idcams version 7.1.0(0) oframe@tmax:ofsrc/base(#1) 2020-06-29 17:30:26
Access Method Services for Catalogs
IDCAMS COMMAND=DEFINE,TYPE=CL,NAME=OSI.IMSA.DEFLIB,RELATE=,CATALOG=
tbESQL Precompiler 6
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
/home/oframe/products/ofsrc/OpenFrame/tsam/temp/OSI_IMSA_DEFLIB.tbc is precompiled successfully!
COMPLETED SUCCESSFULLY.
リソース情報の登録
作成したOSD表にシステムの運用時に使用するリソース情報を設定する方法は、IMS/DCでマクロを使用してリソースを定義する方法と類似しています。
OSIでは、osisdgenツールがこの機能を提供しています。osisdgenは、バッチ・ジョブ環境ではなく、UNIX環境で動作するプログラムです。また、設定するセキュリティ情報が含まれている入力ファイルと、リソース情報を保存するリージョンのIMSIDを使用して実行されます。リソース情報は、既存のIMS/DCのマクロ構文をサポートしています。
以下は、リソース定義スクリプトが保存されているosi_sdlib.datファイルを使用して、IMSAリージョンにリソース情報を登録する例です。
<osi_sdlib.dat>
TYPE TERMINAL NAME=OIVPTRM1, X FEAT=(PFK,CARD,PEN) NAME N031E01 APPLCTN PSB=OIVPI001,PGMTYPE=(,,),SCHDTYP=PARALLEL TRANSACT CODE=OIVPMPP1,MSGTYPE=(SNGLSEG,RESPONSE,1),PRTY=(1,5), X MODE=SNGL APPLCTN PSB=OIVPI002,PGMTYPE=(TP,,1),SCHDTYP=PARALLEL TRANSACT CODE=OIVPMPP2,MSGTYPE=(SNGLSEG,RESPONSE,1),PRTY=(1,5), X MODE=SNGL,MAXRGN=1 APPLCTN PSB=OIVPI003,PGMTYPE=(TP,,1),SCHDTYP=PARALLEL TRANSACT CODE=OIVPMPP3,MSGTYPE=(SNGLSEG,RESPONSE,1),PRTY=(1,5), X MODE=SNGL APPLCTN PSB=OIVPI004,PGMTYPE=(TP,,1),SCHDTYP=PARALLEL TRANSACT CODE=OIVPMPP4,MSGTYPE=(SNGLSEG,RESPONSE,1),PRTY=(1,5), X SPA=(60,STRUNC),MODE=SNGL APPLCTN PSB=OIVPI005,PGMTYPE=(TP,,1),SCHDTYP=PARALLEL TRANSACT CODE=OIVPMPP5,MSGTYPE=(SNGLSEG,RESPONSE,1),PRTY=(1,5), X SPA=(60,STRUNC),MODE=SNGL APPLCTN PSB=OIVPIL02,PGMTYPE=(BATCH,,1),SCHDTYP=PARALLEL TRANSACT CODE=OIVPBMP2,MSGTYPE=(SNGLSEG,RESPONSE,1),PRTY=(1,5), X MODE=SNGL APPLCTN PSB=OIVPIL03,PGMTYPE=BATCH,SCHDTYP=PARALLEL TRANSACT CODE=OIVPBMP3,MSGTYPE=(SNGLSEG,RESPONSE,1),PRTY=(1,5), X MODE=SNGL APPLCTN PSB=OIVPIL04,PGMTYPE=BATCH,SCHDTYP=PARALLEL TRANSACT CODE=OIVPBMP4,MSGTYPE=(SNGLSEG,RESPONSE,1),PRTY=(1,5), X MODE=SNGL APPLCTN PSB=OIVPIL05,PGMTYPE=BATCH,SCHDTYP=PARALLEL TRANSACT CODE=OIVPBMP5,MSGTYPE=(SNGLSEG,RESPONSE,1),PRTY=(1,5), X MODE=SNGL
osisdgenを使用してリソース情報を登録します。
$ osisdgen osi_sd.dat IMSA
[2020-12-21T16:59:20.510891] [osisdgen(21666) ] [M] [OSI7203M] Processing result : Success[20], Ignore[0], Error[0]
データセットに登録されているリソースを起動中のOSIシステムに適用するためには、以下のコマンドを実行します。
$ dfsuocu0 IMSA MODBLKS
- ACTIVE MODBLKS is MODBLKSA
- Succeeded to copy MODBLKS to MODBLKSB
$ imscmd IMSA /MOD PREPARE MODBLKS
IMS control region : [IMSA]
Requested command : [MOD PREPARE MODBLKS]
----------------------------------------
ACTIVE DD: MODBLKSA IMSACBA FORMATA
MODIFY PREPARE COMMAND COMPLETED
*20356/170207*
----------------------------------------
Command '/MOD PREPARE MODBLKS' execution done
$ imscmd IMSA /MOD COMMIT
IMS control region : [IMSA]
Requested command : [MOD COMMIT]
----------------------------------------
ACTIVE DD: MODBLKSB IMSACBA FORMATA
MODIFY COMMIT COMMAND COMPLETED
*20356/170211*
----------------------------------------
Command '/MOD COMMIT' execution done
3.6. MODSTAT
OSIで使用されるMODBLKS、IMSACB、FORMATデータセットのアクティブ・ライブラリ情報が含まれるライブラリです。
初めてMODSTATを作成したためレコードがない場合は、OSIの起動時に、上記の3つのライブラリのステージング・ライブラリの内容を、サフィックスAとBが付いているすべてのデータセットにコピーした後、Aが付けられたデータセットをアクティブ・ライブラリに指定します。OSIは、システムが起動されるたびにリソースを読み込んで使用します。
現在のバージョンでは、MODSTATのアクティブ・ライブラリ情報は、データセットではなく、メタ表にレコード形式で保存および管理されます。データセットは、制御リージョンの起動時にのみ必要であり、データセットには何も保存されません。 |
表の作成
MODSTATリソースを保存および管理するには、システムを準備する際にメタ表を作成する必要があります。メタ表は、osiinitツールを使用して作成できます。
以下は、osiinitツールを使用してDEFVOL表領域にMODSTAT表を作成する例です。
$ osiinit create -t OFM_OSI_MODSTAT -st DEFVOL
osiinit version 7.2.0(0) oframe@tmax:ofsrc/osi(#1) 2020-11-12 19:43:54
Initialize OpenFrame OSI System Tables
Creating OFM_OSI_MODSTAT...
> "OFM_OSI_MODSTAT" created...
メタ表の詳細については、リソース表を参照してください。 |
データセットの作成
IMS/DCで制御リージョンを起動するJCLをOSIでそのまま使用するには、システムを準備する際にデータセットを作成する必要があります。データセットは、idcamsを使用して作成できます。
以下は、idcamsツールを使用してMODSTATデータセットをDEFVOLボリュームに作成する例です。
$ idcams define -t CL -n OSI.IMSA.MODSTAT -o KS -k 8,0 -l 160,160 -s 1024,128,128 -v DEFVOL
idcams version 7.1.0(0) oframe@tmax:ofsrc/base(#1) 2020-06-29 17:30:26
Access Method Services for Catalogs
IDCAMS COMMAND=DEFINE,TYPE=CL,NAME=OSI.IMSA.MODSTAT,RELATE=,CATALOG=
tbESQL Precompiler 6
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
/home/oframe/products/ofsrc/OpenFrame/tsam/temp/OSI_IMSA_MODSTAT.tbc is precompiled successfully!
COMPLETED SUCCESSFULLY.
3.7. PSBLIB
PSBは、アプリケーションで使用されるデータベースまたはメッセージを使用するための制御ブロックであるPCBの集合体です。通常、1つのユーザー・プログラムごとに1つのPSBが構成されます。
PCB(Program Communication Block)は、アプリケーションでOpenFrame HiDBのVIEWやメッセージ・ソースまたはメッセージの宛先と通信するためにシステムで提供される制御ブロックです。IO PCB/ALT PCBは、OSIで提供されるメッセージ・キューにデータを読み書きするために使用されるリソースであるため、OSIが起動されている場合のみ使用できます。IO PCBは、OSIで実行されるプログラムとして、PSBの定義と関係なく、プログラムの最初のパラメータとして提供されるIOPCB-MASKを利用してのみ使用できますが、ALT PCBは、PSBに必要な分だけ定義して使用することができます。
データセットの作成
PSBLIBを使用するには、システムを準備する際にデータセットを作成する手順が必要です。
PSBLIBはPDS形式で構成され、個々の環境設定ファイルはPSBLIBのメンバー形式で保存されます。OSIでPSBLIBを作成するには、pdsgenツールを使用します。
以下は、pdsgenを使用してDEFVOLボリュームにIMS.PSBLIBを作成する例です。
$ pdsgen IMS.PSBLIB DEFVOL -f LB -l 32760
pdsgen version 7.1.0(0) oframe@tmax:ofsrc/base(#1) 2020-06-29 17:30:26
PDS Dataset Generation Program
pdsgen: *** PDS IMS.PSBLIB is created.
PSB情報の登録
OSIでPSBを使用するには、psbgenツールを使用してPSB情報を登録します。
以下は、PSBを定義するスクリプトが保存されているOIVPI002ファイルを使用してPSB情報を登録する例です。
<OIVPI002>
PCB TYPE=TP,MODIFY=YES PCB TYPE=DB,DBDNAME=OIVPIDBD,KEYLEN=10,PROCOPT=A SENSEG NAME=DBSEG PSBGEN LANG=COBOL,PSBNAME=OIVPI002 END
psbgenを使用してPSB情報を登録します。
$ psbgen OIVPI002
psbgen version 7.2.0(0) oframe@tmax:ofsrc/ims(#3) 2020-08-08 16:21:16
Program Specification Block Generation Program
psbgen: force flag on; the tool overwrites existing data
psbgen: 1 files are requested in total
------------------------------------------------------------
psbgen Processing PSB script "OIVPI002"
------------------------------------------------------------
psbgen: Processing PSB "OIVPI002"
psbgen: removing existing PSB OIVPI002 metadata
psbgen: successfully processed PSB "OIVPI002"
psbgen: successfully processed for the requested PSBs (total 1)
現在のバージョンでは、psbgenを実行すると、PSBスクリプトに記述されているメタ情報がメタ表に保存され、PSBLIBには何も保存されません。 |
3.8. RESLIB
データセットを動的に使用するために必要なMDA情報が含まれるライブラリです。詳細については、DFSRESLBを参照してください。
3.9. STEPLIB
OSIサーバーで動作するアプリケーション・プログラムは、COBOLプログラミング言語で開発されます。
アプリケーションの開発者は、作成したプログラムをコンパイルした後、作成されたバイナリをSTEPLIBにデプロイする必要があります。コンパイル前に、必要に応じて前処理を行います。デプロイされたプログラムは、OSD表にプログラム・リソース定義を登録した後、OSIシステムを起動すると動作します。
データセットの作成
FORMATと同様に、pdsgenを使用して作成します。
以下は、pdsgenを使用してDEFVOLボリュームにOSI.IMSA.STEPLIBを作成する例です。
$ pdsgen OSI.IMSA.STEPLIB DEFVOL -f LB -l 32760
pdsgen version 7.1.0(0) oframe@tmax:ofsrc/base(#1) 2020-06-29 17:30:26
PDS Dataset Generation Program
pdsgen: *** PDS OSI.IMSA.STEPLIB is created.
4. ストレージの設定
ストレージとして機能するシステム表を作成します。
4.1. MQ
OSIは、端末とアプリケーションの間でメッセージを送受信するために、TPモニターであるTmaxの機能を使用します。すべてのメッセージは、MQ(Message Queue)表に保存されます。OSIシステムを運用するには、Master、MPP(Terminal)、BMP表およびMQデータセットが必要です。
現在のバージョンでは、すべてのメッセージがMQ表に保存されます。MQデータセットは、制御リージョンの起動時にのみ必要であり、データセットには何も保存されません。 |
表の作成
MQシステム表は、osiinitツールを使用して作成します。
以下は、osiinitツールを使用して3つのMQ表を作成する例です。
$ osiinit create -t OFM_OSI_MQ -st DEFVOL
osiinit version 7.2.0(0) oframe@tmax:ofsrc/osi(#1) 2020-11-12 19:43:54
Initialize OpenFrame OSI System Tables
Creating OFM_OSI_MQ...
> "OFM_OSI_MQ" created...
MQシステム表の詳細については、リソース表を参照してください。 |
データセットの作成
IMS/DCで制御リージョンを起動するJCLをOSIでそのまま使用するには、システムを準備する際にデータセットを作成する必要があります。データセットは、idcamsを使用して作成できます。
以下は、idcamsツールを使用してDEFVOLボリュームにMQデータセットを作成する例です。
$ idcams define -t CL -n OSI.IMSA.MQLIB -o KS -k 32,0 -l 10000,32000 -s 1024,128,128 -v DEFVOL
idcams version 7.1.0(0) oframe@tmax:ofsrc/base(#1) 2020-06-29 17:30:26
Access Method Services for Catalogs
IDCAMS COMMAND=DEFINE,TYPE=CL,NAME=OSI.IMSA.MQLIB,RELATE=,CATALOG=
tbESQL Precompiler 6
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
/home/oframe/products/ofsrc/OpenFrame/tsam/temp/OSI_IMSA_MQLIB.tbc is precompiled successfully!
COMPLETED SUCCESSFULLY.
データセットの使用方法については、OpenFrame Base『データセットガイド』を参照してください。 |
4.2. REGION
OSIシステムの運用に使用されるユーザー・サーバー(従属リージョン)のリージョンID、ジョブ名、PSB名、プログラム名などの情報が保存されます。
表の作成
REGION表は、osiinitを使用して作成します。
以下は、osiinitツールを使用してREGION表を作成する例です。
$ osiinit create -t OFM_OSI_REGION -st DEFVOL
osiinit version 7.2.0(0) oframe@tmax:ofsrc/osi(#1) 2020-11-12 19:43:54
Initialize OpenFrame OSI System Tables
Creating OFM_OSI_REGION...
> "OFM_OSI_REGION" created...
$ osiinit create -t OFM_OSI_REGION_SVR -st DEFVOL
osiinit version 7.2.0(0) oframe@tmax:ofsrc/osi(#1) 2020-11-12 19:43:54
Initialize OpenFrame OSI System Tables
Creating OFM_OSI_REGION_SVR...
> "OFM_OSI_REGION_SVR" created...
REGION表の詳細については、リソース表を参照してください。 |
4.3. RTSD
OSIでは、各制御リージョンの起動時にシステム定義リソースをRTSD(RunTime System Definition)というリージョンにコピーして管理します。システムの運用中には、同じIMSシステム内にあるすべてのリージョン・サーバーが同じRTSDリソースを共有することになります。
表の作成
RTSD表は、osiinitツールを使用して作成します。
以下は、osiinitツールを使用してDEFVOL表領域にAPPLCTN表とTRANSACT表を作成する例です。
$ osiinit create -t OFM_OSI_RTSD_APPLCTN -st DEFVOL
osiinit version 7.2.0(0) oframe@tmax:ofsrc/osi(#1) 2020-11-12 19:43:54
Initialize OpenFrame OSI System Tables
Creating OFM_OSI_RTSD_APPLCTN...
> "OFM_OSI_RTSD_APPLCTN" created...
$ osiinit create -t OFM_OSI_RTSD_TRANSACT -st DEFVOL
osiinit version 7.2.0(0) oframe@tmax:ofsrc/osi(#1) 2020-11-12 19:43:54
Initialize OpenFrame OSI System Tables
Creating OFM_OSI_RTSD_TRANSACT...
> "OFM_OSI_RTSD_TRANSACT" created...
RTSD表の詳細については、リソース表を参照してください。 |