SMC manages all interfaces with MSP for allocation and message handling, and therefore must be started as a task on every MSP host where tape processing occurs.
SMC calls on HSC for volume and drive information. Therefore, HSC 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:
TapePlexes and associated HSC/VTCS servers are defined in the SMCCMDS data set. 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 the following:
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 MSP 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' //* //* Run LOADHOST to initialize the IP environment for //* SMC IP communications //* //stepname EXEC PGM=LOADHOST //STEPLIB DD DISP=SHR,DSN= your.els.sea7x0.sealink //STKHSTDF DD DISP=SHR,DSN=your.host.ip.network.definitions //STKIFCDF DD DISP=SHR,DSN=your.host.ip.init.definition //STKIFIDF DD DISP=SHR,DSN=your.host.osa.definition //STKOWNDF DD DISP=SHR,DSN=your.host.name //SYSPRINT DD SYSOUT=* //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //* //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) //* //TISPAPPL DD DSN=ddd.eee.fff(anyname) /* Mandatory TISP parms) */
The first four characters of yourprocname specify the SMC subsystem name (unless the SSYS startup parameter is specified). The recommended value is SMCx, 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 MSP 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.
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 start 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 MSP Start
command.
Add the SMC subsystem to the IEFSSNxx subsystem table using the keyword format.
Note the following:
If you want to run the SMC under the master MSP 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 is 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 the following:
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).
TIME=1440 must be coded to ensure that the SMC does not time out and terminate.
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 TISPAPPL DD statement in your SMC START procedure to define the TISP APPL name for the SMC job.
This DD statement identifies the data set used to obtain the APPL name the SMC registers with TISP for TCP/IP socket services. The member pointed to by the TISPAPPL statement must contain a statement such as:
TCPAPPLNAME=STKHAPPL
where the applname (in this example, STKHAPPL) must match that defined in your VTAM-G TISP TAPPL NODESET.
Refer to the Fujitsu OS IV VTAM-G TISP Handbook for more information.
This section describes how to execute the SMC START procedure to start the SMC software.
Issue the MSP 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 MSP START
command. The PARM= specification on the MSP START
command overrides the PARM= specification in the SMC Start Procedure. See "Parameters" for parameter descriptions.
START or S
initiates the MSP START
command
smc-proc-name
indicates the name of the SMC START procedure member.