2 Starting the SMC

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.

Creating the SMC START Procedure

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 SMCx, where x is any valid jobname character.

SMC EXEC Statement

The EXEC statement defines general SMC startup parameter settings.

Syntax

The following figure shows the SMC EXEC statement syntax:

Figure 2-1 SMC EXEC Statement syntax

Described in surrounding text

Parameters

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.

SMCPARMS and SMCCMDS Data Sets

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.

SMCCMDS

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.

SMCPARMS

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).

SMCLOG Data Set

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.

SYSTCPD Data Set

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.

Executing the SMC START Procedure

This section describes how to execute the SMC START procedure to start the SMC software.

MVS START Command

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.

Syntax

The following figure shows the MVS START command syntax:

Figure 2-2 MVS START Command syntax

Described in surrounding text

Parameters

START or S

initiates the MVS START command

smc-proc-name

indicates the name of the SMC START procedure member.