SMC manages all interfaces with MVS for allocation and message handling, and therefore must be started as a task on every MVS host where tape processing occurs.
SMC calls on HSC and MVS/CSC for volume and drive information. Therefore, HSC or MVS/CSC can be active on the same host as the SMC, or a local SMC can interact with an HSC operating on a remote host if the SMC HTTP server is also enabled on that remote host.
Oracle recommends that you start HSC and SMC in the following order:
Start HSC.
Immediately start SMC, as HSC initialization begins.
This is recommended for the following reasons:
The SMCCMDS
data set defines TapePlexes and associated HSC/VTCS servers. During initialization, SMC attempts to establish a communication binding with one server for each TapePlex by contacting individual HSC/VTCS servers in order as defined in the SMCCMDS
data set. SMC binds to the first active server encountered for each TapePlex during this process. For each TapePlex with no active servers, SMC displays persistent message SMC0260
for each server defined for that TapePlex. SMC removes these messages when a server becomes active and SMC automatically binds to it. To avoid TapePlex communication binding delays at SMC startup:
Ensure hosts referenced by SMC SERVER
statements are IPLed and TCP/IP is fully initialized for communications on these hosts before starting SMC.
For hosts referenced by SMC SERVER
statements, issue the HTTP START
command as part of the SMC startup parameters for those hosts, in SMCPARMS
or SMCCMDS
.
For each TapePlex, start HSC/VTCS and SMC on at least one host referenced by an SMC SERVER
statement for that TapePlex.
If your configuration includes VTCS with a VLE system, VTCS uses SMC communication services to communicate with VLE. If you start SMC immediately after HSC initialization begins, you can ensure that these services are available to VTCS when it attempts to communicate with the VLE.
Implementing these steps will allow SMC startup processing to bind with each TapePlex as quickly as possible.
To start SMC, you must create and execute the SMC START
procedure. This chapter describes these tasks.
Note:
Refer to the publication Installing ELS for information about SMC installation and postinstallation tasks.
The SMC HTTP server component is enabled using the SMC HTTP
command. Refer to the ELS Command, Control Statement, and Utility Reference for more information about this command.
The SMC START
procedure specifies SMC startup parameter settings. You create this procedure in the procedure library of the host system.
The MVS START
command executes this catalogued procedure, thus activating the SMC with the specified parameter settings.
The following example illustrates a sample SMC START
procedure, which includes EXEC
, STEPLIB
, SMCPARMS
, SMCCMDS
, SMCLOG
, and SYSTCPD
DD statements.
Example 2-1 SMC START Procedure
//yourprocname PROC PRM='WARM' //stepname EXEC PGM=SMCBINT,REGION=0M,TIME=1440, // PARM='&PRM' //* //STEPLIB DD DISP=SHR,DSN=your.els.exitlib // DD DISP=SHR,DSN=your.els.sea700.sealink //* //* The following dataset is optional //* //SMCPARMS DD DISP=SHR,DSN=parmlib_name(parm_member_name) //* //* The following dataset is optional but recommended //* //SMCCMDS DD DISP=SHR,DSN=cmdlib_name(cmd_member_name) //* //* The following datasets are optional //* //SMCLOG DD DSN=log.file.name,UNIT=unit,RECFM=FB, // SPACE=(CYL,(primary-qty,secondary-qty)), // DISP=(NEW,CATLG,CATLG) //* //SYSTCPD DD DSN=ddd.eee.fff(anyname) /* Optional TCPIP parms) */
The first four characters of yourprocname
specify the SMC subsystem name (unless the SSYS
startup parameter is specified). The recommended value is SMC
x
, where x is any valid jobname character.
The EXEC
statement defines general SMC startup parameter settings.
PARM=
defines the list of parameters passed to the SMC initialization routine.
Execution parameters must be separated with commas. Separating parameters with blanks results in a syntax error.
WARM
specifies that the SMC main control block is not rebuilt. This is the default setting for normal operation.
COLD
specifies that all SMC control blocks are rebuilt. This parameter is mutually exclusive with WARM
.
Caution:
Do not use this parameter unless the SMC has terminated abnormally and cannot be restarted.RESET
specifies that the active subsystem status flag in the MVS Subsystem Communications Vector Table (SSCVT) for the SMC is reset. This parameter may correct a situation in which the SMC was terminated abnormally. It can be specified with WARM
or COLD
.
Using this parameter when an SMC subsystem is active and functional causes unpredictable results.
J3NOSET
indicates that a JES3 system is not using JES3 tape setup. When this parameter is specified, allocation influencing behaves as described for JES2.
SSYS
specifies a subsystem ID that is different from the first four characters of the SMC START
procedure. The SMC searches for this subsystem ID during initialization.
subsystem
must be one to four characters in length.
MSTR
specifies that the SMC starts under the MSTR
subsystem instead of under JES.
When specifying this parameter, you must also perform one of the following actions:
Start the SMC subsystem using SUB=MSTR
on the MVS Start
command.
Add the SMC subsystem to the IEFSSNxx
subsystem table using the keyword format.
Note:
This parameter is not supported for JES3 with SETUP environments.
If you want to run the SMC under the master MVS subsystem, the PROCLIB
containing the SMC START
procedure must be present in the PROCLIB
concatenation for the master address space. This concatenation is defined in SYS1.PARMLIB(MSTJCLxx)
, under DD IEFPDSI
.
MAXRC
specifies whether SMC subsystem initialization is to be terminated when the specified command return code is exceeded. If MAXRC
is not specified, then the SMC subsystem always attempts to complete its initialization regardless of any startup command failure(s). This is the default behavior.
nn
specifies the highest allowed return code. If an SMC command executed from the SMCPARMS
or SMCCMDS
data set exceeds this value, then SMC0236
and SMC0237
messages are produced, and the SMC terminates. Allowable values are 0, 4, 8, and 12.
PLEXRC
specifies whether SMC subsystem initialization is to be terminated based on the status of TapePlexes returned from the automatically issued RESYNC
command.
If PLEXRC
is not specified, then the SMC subsystem will complete its initialization regardless of the outcome of the RESYNC
command. This is the default behavior.
n specifies the highest allowed return code from the RESYNC
command. Valid values are 0 and 4.
The SMC RESYNC
command sets a return code of 8 if SMC cannot communicate with any defined TapePlex, and a return code of 4 if SMC can communicate with one or more, but not all, defined TapePlexes.
Specify SMCCMDS
and SMCPARMS
DD statements in your SMC START
procedure to identify data sets that include SMC command settings you want to have processed at SMC startup.
At minimum, you must include SMC TAPEPlex
commands in either the SMCCMDS
or SMCPARMS
data set to define your TapePlexes. If no TAPEPLEX
commands are found at SMC startup, then the SMC subsystem terminates and an error message is produced.
When SMC first communicates with an HSC host, this host adopts the TapePlex name specified in the SMCCMDS
or SMCPARMS
data set and stores it in the CDS. The CDS retains this name unless it is later changed by an SMC Set TapePlex
utility command.
It is recommended that you use the SMCCMDS
data set to specify settings for SMC commands that can be reprocessed after startup.
You can issue the SMC READ
command from the console to reprocess this data set at any time.
It is recommended that you use the SMCPARMS
data set to specify settings for SMC commands that can only be processed at startup. These commands are CMDDef
and USERMsg
.
You can include additional commands in this data set, however, these commands cannot be reprocessed by the SMC READ
command.
Note:
Refer to the ELS Command, Control Statement, and Utility Reference for more information about the HSC Set TAPEPlex
command and SMC READ
command.
Use of the POLicy
command requires that TAPEPlex
and SERVer
commands be processed before POLicy
commands (which must be processed before TAPEREQ
control statements).
Use of the POLicy
command requires that TAPEPlex
and SERVer
commands be processed before POLicy
commands (which must be processed before TAPEREQ
control statements).
Specify the SMCLOG
DD statement in your SMC START
procedure to define the SMCLOG
data set used for SMC communication and command logging.
This statement is required only when the SMC LOG START
command is entered, and is written to only when the SMC LOG TYPE
command is entered to select the specific types of events the SMC will log.
The SMC logging facility is intended to gather diagnostic information for certain types of errors that are not easily reproducible. As a diagnostic gathering technique, it gathers less information, but consumes far less resources than the SMC TRACE
command. Therefore, it is better suited for gathering diagnostic information for all communications tasks over a longer period, then the SMC TRACE
facility which is intended to be directed at a single job or step for a shorter period. The SMC LOG
command should only be executed at the direction of StorageTek support personnel. Depending upon the number and types of SMC LOG TYPE(s) selected, use of the SMC logging facility will result in slight degradation of SMC communications and subsystem performance.
Specify the SYSTCPD
DD statement in your SMC START
procedure to define TCP/IP options for the SMC job.
This DD statement identifies the data set used to obtain parameters defined by the IBM TCPIP.DATA
configuration data set. Refer to the IBM TCP/IP Customization and Administration Guide for more information.
This section describes how to execute the SMC START
procedure to start the SMC software.
Issue the MVS START
command to execute your SMC START
procedure and start the SMC software. This command invokes the SMC subsystem initialization routine. This routine determines which parameters are in effect, performs any cleanup necessary, and initiates normal SMC processing.
Parameters associated with PARM=
on the EXEC
statement of the SMC Start Procedure can also be supplied through PARM=
on the MVS START
command. The PARM=
specification on the MVS START
command overrides the PARM=
specification in the SMC START
Procedure. See "Parameters" for parameter descriptions.
START or S
initiates the MVS START
command
smc-proc-name
indicates the name of the SMC START
procedure member.