System Environment Configuration
This chapter describes the environment configuration methods required for OSI system operation.
1. Overview
After the installation of the OSI system is complete, users must change the default configuration of items for the OSI system environment, as required by the system.
Configure the following for the OSI system environment.
2. Configuring System Configuration Files
Among system configuration values that are required by the OSI system, the items that cannot be dynamically applied are mostly described in the configuration file and the values specified are applied when the system is started.
2.1. openframe_osi.conf
To operate the OSI system, configure the following subjects in the openframe_osi.conf file, and then apply them to the OpenFrame system by using the ofconfig tool.
Subject | Description |
---|---|
osi |
Common reference item for all modules of OSI. The values specified in this item are applied to all modules of OSI. |
osi.[IMSID] |
Identification for each IMS system in OSI. The values specified in this item are applied to all modules of the respective IMS system. IMSID must be four alphanumeric characters. |
osi.[osimqsvrname] |
Name of a queue trigger monitor of IBM Websphere MQ in OSI. Each osimqsvr server requires one subject item. osimqsvrname must match with the server name specified in the MQ user server configuration. |
ssm.[IMSID].[SSM] |
Identification applied in the Tmax XA server for each IMS system to use MultipleRM in OSI. |
|
2.2. osi.ofsys.seq
You can choose which Tmax server to run with osiboot in OSI, by specifying the name of Base/Batch/TACF servers including the osimqsvr server, but except for region servers.
The following is a sample file of osi.ofsys.seq.
#BASE TPFMAGENT ofrsasvr ofrlhsvr ofrdmsvr ofrdsedt ofrcmsvr ofruisvr ofrsmlog #BATCH obmjmsvr obmjschd obmjinit obmjhist obmjspbk ofrpmsvr obmtsmgr obmjtimr #TACF tmsvr #OSI #osimq001
2.3. Configuring TCache
For supporting multi-node clustering, OSI manages that information that needs to be shared between regions, including runtime system definition (RTSD), in DB tables. This guarantees enhanced read performance by using TCache to cache the data accessed from DB table into the shared memory. TCache needs to be configured for each node, involving configuration of shared memory key and resource for each region.
For more information about default setting, refer to Tmax TCache Guide. |
The following is an example of pfmtcache.conf.
# 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 # 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
3. Configuring Libraries
All information required for system operation must be prepared before booting the system. This section describes the process of preparing such information by type. Most of the information is saved as records in RDB tables, and others such as MDA or MFS are stored in datasets or Unix files.
The following libraries are required in OSI operation.
Library | Description |
---|---|
Stores DBD information for using OpenFrame/HiDB. |
|
Stores information needed for dynamic usage of datasets. |
|
Staging library which stores MFS information for mapping support in OSI. |
|
Stores MFS information for mapping support in OSI and is actually used online. |
|
Staging library which stores ACB information for integrated management of PSB and DBD. |
|
Stores ACB information for integrated management of PSB and DBD and is actually used online. |
|
Staging library which stores system information required for OSI operation. |
|
Stores system information for OSI operation and is actually used online. |
|
Stores the current ACTIVE dataset information for the dataset that supports dynamic change. |
|
Stores PSB information for using application programs. |
|
Stores MDA information needed for dynamic usage of datasets. (Same as DFSRESLB) |
|
Directory for shared object form execution module management of programs that application developers wrote. |
|
3.1. DBDLIB
DBD is a set of macro parameter statements that define the characteristics of OpenFrame/HiDB and the relationships between segments, fields, and segment types within the database structure, access methods and databases.
Creating Datasets
Using DBDLIB requires a procedure for creating datasets during the system preparation process. DBDLIB is composed in the PDS form and the individual environment configuration files are stored as DBDLIB members. To create DBDLIB in OSI, a tool named pdsgen is used.
The following example creates IMS.DBDLIB in a volume named DEFVOL by using pdsgen.
$ 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.
Registering DBD Information
Using DBD in OSI requires a tool called dbdgen, to register DBD information.
The following example registers DBD information with a file named OIVPIDBD which contains the DBD control statement, by using dbdgen.
$ 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)
In the current version, executing dbdgen stores the database schema information described in the DBD script to metatables, and DBDLIB stores no actual data. |
3.2. DFSRESLB
Running a program using PSB resources requires a method of sending the PSB information and the dataset information defined in DBD, to the program to run.
OpenFrame/Batch runs an application program by using JCL, at which point the JCL DD statements send the PSB information and DBD dataset information to the program. On the other hand, OSI runs multiple programs in a single region, and the JCL required to startup the region cannot contain all DD statements. Therefore, OSI is required to use a different method than OpenFrame/Batch to send necessary information to the program. Hence, OSI stores information necessary for dynamic usage of datasets, in DFSRESLB.
For more information about dynamic DD allocation, refer to IBM IMS DFSMDA macro. |
Creating Datasets
For DFSRESLB, datasets need to be created in the system preparation process. DFSRESLB is composed in the PDS dataset format and individual configuration files are stored in the member format of DFSRESLB. To create DFSRESLB in OSI, use the pdsgen tool.
The following example creates IMS.RESLIB in a volume named DEFVOL, by using pdsgen.
$ 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.
Registering MDA Information
To use MDA in OSI, the MDA information has to be registered using the imsdaloc tool.
The following example registers the MDA information to DFSRESLB, with a file named OIVPIDBD which contains the script defining MDA.
<OIVPIDBD>
DFSMDA TYPE=DATABASE,DBNAME=OIVPIDBD DFSMDA TYPE=DATASET,DSNAME=IMS.TEST.OIVPI,DDNAME=OIVPI END
Register the MDA information by using imsdaloc.
$ 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 and FORMATB
FORMAT is a library that stores the information supporting the mapping function in OSI.
The mapping function here, refers to connecting fields and applications that are defined in the format by using FORMAT. Prepare three datasets in the same way as in MODBLKS and IMSACB.
Creating Datasets
Using FORMAT requires creating datasets during the system preparation process.
FORMAT is composed in the PDS format and the individual environment configuration files are stored as MFSLIB members. To create FORMAT in OSI, use the pdsgen tool.
The following example creates OSI.IMSA.MFSLIB in a volume named DEFVOL, by using pdsgen.
$ 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.
Registering Map Information
The following example registers map information to OSI.IMSA.MFSLIB, by using a file named OIVP001.TXT.
<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
Register map information by using 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 and IMSACBB
In OSI, the PSB and DBD information is not managed and operated individually, but rather managed as a single integrated library. Such library is called ACB. Prepare three data sets in the same way as in MODBLKS.
Creating Datasets
Using ACBLIB requires creating datasets during the system preparation process. ACBLIB is composed in the PDS format and the individual environment configuration files are stored as ACBLIB members. To create PSBLIB in OSI, use the pdsgen tool.
The following example creates IMS.ACBLIB in a volume named DEFVOL, by using pdsgen.
$ 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.
Registering ACB Information
To use ACB in OSI, the ACB information has to be registered using a tool called acbgen.
The following example registers the ACB information to ACBLIB for a PSB named OIVPI002 of PSBLIB.
$ 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.
In the current version, executing acbgen generates ACB meta information based on the DBD and PSB meta information, and stores the ACB meta information to each metatable. ACBLIB stores no actual data. |
3.5. MODBLKS, MODBLKSA and MODBLKSB
In OSI, the system definition that registers and manages using macros in IMS/DC is replaced by a structure called Online System Definition (OSD).
OSD is the region used for storing the various system configuration information that can be dynamically operated and is required for using OSI. OSD is composed of modules, where actual datasets are stored and OSD is managed. When the system is started, a separate area called RunTime System Definition (RTSD)is activated and allows easy dynamic management of system information and easy modification of OSD.
Prepare three datasets including a staging library and those suffixed 'A' and 'B' each. Data can be registered directly to A and B, but when applying dynamic changes, apply the information stored in the staging library by using the dynamic change tool and commands.
In the current version, OSD stores and manages data in metatables, not datasets. The three datasets including the staging library are required only when starting up the control region, and store no actual data. |
Creating Tables
Using OSD requires creating metatables during the system preparation process. Metatables are created by using a tool called osiinit.
The following example creates a metatable to store information about the APPLCTN macro, retrieved from OSD, in a tablespace named DEFVOL, by using the osiinit tool.
$ 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...
For more information about metatables, refer to Resource Tables. |
Creating Datasets
The JCL for starting up the control region in IMS/DC can also be used as it is in OSI, by creating datasets during the system preparation process. Datasets can be created by using a tool called idcams.
The following example creates an OSD dataset in a volume named DEFVOL, by using the idcams tool.
$ 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.
Registering Resource Information
The method of configuring resource information, used in operating the system in the OSD tables, is similar to the method of defining resources using macros in IMS/DC.
A tool called osisdgen provides this function in OSI. osisdgen is a tool program which operates in the Unix environment, which is not a batch job environment. osisdgen performs tasks with the input file containing the resource information to be configured and IMSID of the region which is used for storing the resource information. The resource information also supports the macro syntax that has been used in the existing IMS/DC.
The following example registers resource information in a region named IMSA, by using the osi_sdlib.dat file, which contains certain resource definition scripts.
<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
Register the resource information by using osisdgen.
$ osisdgen osi_sd.dat IMSA [2020-12-21T16:59:20.510891] [osisdgen(21666) ] [M] [OSI7203M] Processing result : Success[20], Ignore[0], Error[0]
Execute the following commands to deploy the resources registered in the dataset to the running OSI system.
$ 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
MODSTAT is a library that stores information about Active Library for MODBLKS, IMSACB and FORMAT datasets used in OSI.
To create MODSTAT for the first time, copy the contents of the staging library for all three libraries metioned above, to all data sets suffixed 'A' and 'B', when booting OSI. Then, specify the datasets suffixed 'A' to the active library. OSI reads and uses the active library resources whenever the system is booted.
In the current version, the active library information for MODSTAT is stored and managed as records in metatables, not datasets. These datasets are required only when starting up the control region, and store no actual data. |
Creating Tables
Storing and managing MODSTAT resources requires creating metatables during the system preparation process. Metatables are created by using a tool called osiinit.
The following example creates a MODSTAT table in a tablespace named DEFVOL, by using the osiinit tool.
$ 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...
For more information about metatables, refer to Resource Tables. |
Creating Data Sets
The JCL for starting up the control region in IMS/DC can also be used as it is in OSI, by creating datasets during the system preparation process. Datasets can be created by using a tool called idcams.
The following example creates a MODSTAT dataset in a volume named DEFVOL, by using the idcams tool.
$ 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
Program Communication Block (PSB)is a collection of PCBs which are control blocks for using the databases or messages used in applications. There is usually one PSB per user, for each program.
PCB is a control block provided by the system to communicate with views, message sources, or message destinations for OpenFrame/HiDB in applications. IO PCB/ALT PCB is a resource used for reading and writing data in message queues provided in OSI within PCB and therefore it can only be used when IO PCB/ALT PCB is started. IO PCB can be used only by using IOPCB-MASK, which is provided as the program’s first parameter, for programs that run in OSI regardless of PSB’s technology. However, multiple ALT PCBs can be used as needed.
Creating Datasets
Using PSBLIB requires creating datasets during the system preparation process.
PSBLIB is composed in the PDS format and the individual environment configuration files are stored as PSBLIB members. To create PSBLIB in OSI, use a tool called pdsgen.
The following example creates IMS.PSBLIB in a volume named DEFVOL, by using pdsgen.
$ 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.
Registering PSB Information
To use PSB in OSI, PSB information has to be registered using a tool called psbgen.
The following example registers the PSB information by using a file named OIVPI002, which contains the scripts defining 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
Register the PSB information by using psbgen.
$ 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)
In the current version, executing psbgen stores the meta information described in the PSB scripts to metatables. PSBLIB stores no actual data. |
3.8. RESLIB
RESLIB is a library that stores MDA information, which is required for using datasets dynamically. For more information, refer to DFSRESLB.
3.9. STEPLIB
The application program running in the OSI server is developed by using the COBOL programming language.
Application developers have to place the binaries created after compiling their programs, to STEPLIB. Perform preprocessing as needed before compiling. The programs can be run by starting the OSI system after registering program resource definitions in the OSI tables.
Creating Datasets
In the same way as when creating FORMAT, use pdsgen to create datasets.
The following example creates OSI.IMSA.STEPLIB in a volume named DEFVOL, by using pdsgen.
$ 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. Configuring Storage
OSI requires system tables to be used as storage, for the system operation.
4.1. MQ
OSI basically uses the functions of Tmax, a TP-monitor, to send messages between terminals and applications, while storing all messages in Message Queue (MQ) tables. To operate the OSI system, prepare Master, MPP (terminal), BMP tables and MQ datasets.
In the current version, all messages transferred during operation are stored in MQ tables. MQ datasets are required only when starting up the control region, and store no actual data. |
Creating Tables
MQ system tables are created by using the osiinit tool.
The following example creates three MQ tables by using the osiinit tool.
$ osiinit create -t OFM_OSI_MQ_MASTER -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_MASTER... > "OFM_OSI_MQ_MASTER" created... $ 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... $ osiinit create -t OFM_OSI_MQ_BMP -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_BMP... > "OFM_OSI_MQ_BMP" created...
For more information about MQ system tables, refer to Resource Tables. |
Creating Datasets
The JCL for starting up the control region in IMS/DC can also be used as it is in OSI, by creating datasets during the system preparation process. Datasets can be created by using a tool called idcams.
The following example creates an MQ dataset in a volume named DEFVOL, by using the idcams tool.
$ 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.
For more information about dataset usages, refer to OpenFrame Dataset Guide. |
4.2. REGION
Region ID of the user server (dependent region), job name, PSB name, program name and other necessary information for operating the OSI system are stored in REGION tables.
Creating Tables
To create REGION tables, use the osiinit tool.
The following example creates a REGION table by using the osiinit tool.
$ 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...
For more information about REGION tables, refer to Resource Tables. |
4.3. RTSD
System definition resources are copied and managed in a separate area called RunTime System Definition (RTSD), at the point where each control region is started in OSI. During the system operation, all region servers present in the same IMS system can share the same RTSD resources.
Creating Tables
To create RTSD tables, use the osiinit tool.
The following example creates the APPLCTN and TRANSACT tables in a tablespace named DEFVOL, by using the osiinit tool.
$ 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...
For more information about RTSD tables, refer to Resource Tables. |