2012黄老师课件-zos实用技术04jes2技术要点_第1页
2012黄老师课件-zos实用技术04jes2技术要点_第2页
2012黄老师课件-zos实用技术04jes2技术要点_第3页
2012黄老师课件-zos实用技术04jes2技术要点_第4页
2012黄老师课件-zos实用技术04jes2技术要点_第5页
免费预览已结束,剩余127页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

说明:本人写这个课件资料,只是凭据自己多年工作经验的一些体会,不具完整性,肯定也存在谬误,但可具有实用性的参考价值!-

2011.10.31.SDSF

OUTPUT

ALL

CLASSESCOMMAND

INPUT

===>ALL

FORMSJOBNAME

JobID

OwnerPrty

CFormsDestTot-RecCICS21A JOB02580

TE021128

ASTDLOCAL2,220…XP99TSU02702XP9996ASTDLOCAL23,752XP99JOB03019XP98128ASTDLOCAL3,009BILLAJOB03190BILL128ASTDLOCAL2,108BILLJOB03191BILL128ASTDLOCAL3,988问-1:上面两个XP99各表何意?上面BILLA、BILL又各表何意?注:USERID=XP99、XP98、BILLJOBNAMEXP99XP99JobID

OwnerTSU02702

XP99JOB03019

XP98JobID Owner

CJOBNAMEBILLABILLJOB03190

BILL

AJOB03191

BILL

ALOGONSUB//XP99

JOB可以吗?USERID:

XP99USERID:

XP98SUB://BILLA

JOBUSERID:

BILLSUB://BILL

JOB如何实现?USERID:

BILLCC=0CC≠0问-2:JOB1

可否在自己的JCL流中不用SUB来提交JOB2? 下列流程可以实现吗?JOB1:XP99J1//STEP1

EXEC

PGM=P1//STEP2

EXECPGM=P2JOB2:XP99J2JES2的几个要点启动程序(INIT)JES2

参数定义JES2

处理作业的几个阶段SPOOLJES2JES2是MVS执行

批作业处理的子系统(前台是TSO).JES2模块以HASP为前缀,JES2的所有信息与消息号也以$HASP为前缀。、JES2向系统操作员提供了一套命令系统,用于管理(调度)作业的运行,JES2命令的前缀冠以“$”。JES2

的几乎任何工作都离不开SPOOL,它是JES2

执行批作业的缓存空间。JES2也离不开启动程序

(initiators),INIT是启动JOB的执行者(也是作业能否运行的系统资源之一)。JES2的工作由WLM来控制.INIT

&

CLASS--- SDSF

PRIMARY

OPTION

---COMMAND

INPUT

===>

INITDAIOHSTActive

usersInput

queueOutput

queue

Held

output

queueStatus

of

jobsINIT

InitiatorsPR

PrintersPUN

PunchesRDR

ReadersLINE

LinesNODE

NodesSO Spool

offloadULOGUser

session

logLOG System

logMAS Members

in

the

MAJC Job

classesSE Scheduling

environmentsRES WLM

resources如何查看系统的启动程序?_

通过SDSF的“INIT”选项:END Exit

SDSFSDSF

INITIATOR

DISPLAYTESTMVSCOMMAND

INPUT

===>SCROLL

===>

CNPIDStatusClassesJobNameStepNameProcStepJobIDCASID1INACTIVEA422INACTIVEBA43444546474849505152INACTIVEINACTIVEINACTIVEINACTIVEINACTIVEDRAINEDINACTIVEINACTIVEINACTIVEINACTIVE 17

HALTERINACTIVEINACTIVEINACTIVE3INACTIVECBA4INACTIVEDCBA5INACTIVEDCBA6INACTIVEDCBADCBADCBAIIITAAAAAAAA5354555657585960??启动程序与CLASS的关系每个JOB

在提交时都要(在JCL中)给出一个CLASS参数,不同的CLASS决定了作业不同的优先数.JOB

的投入运行是由CLASS所对应的INIT来完成的.CLASS与启动程序的对应关系是一对一,或一对多的.问1:在这个系统中,哪些个INIT为CLASS服务最多?问2:你认为设定哪个CLASS会被INIT选中的概率最大?问3:设置INIT12的好处在哪里?为什么它的ASID

没有?ID

StatusClassesJobname1ACTIVEAXP99J12INACTIVEAB…S11DRAINEDABCDS17…HALTERAINIT11、17被激活后状态变为INACTIVE在JES2的参数库(JES2PARM)中定义INIT,INIT的初始启动状态有两种:PARTNUM=20 /*

NUMBER

OF

INITIATORS &MAXPART

wnc*/NITDEF..INIT(8)INIT(9)/*

INITIALJOB

CLASSES/*

Start

Automatically/*

INITIATOR

NAMENAME=8,CLASS=A,START=NONAME=9,CLASS=AB,START=YES/*

Start

Automaticallywnc*/ownc*/wnc*/wnc*/ownc*/wnc*/..INIT共有四种状态:ACTIVE

-正在服务INACTIVE

-空闲DRAINED

-

未启动HALTER

-

暂停(挂起)后两种可通过“S”动作,使之变为“INACTIVE”状态。INIT8在系统中的状态显示为:DRAINEDINIT9在系统中的状态显示为:INACTIVE$DI$HASP892

INIT(1)

218$HASP892INIT(1)STATUS=INACTIVE,CLASS=A,NAME=1,$HASP892ASID=002A$HASP892INIT(2)219$HASP892INIT(2)STATUS=INACTIVE,CLASS=BA,NAME=2,$HASP892ASID=002B$HASP892INIT(3)220$HASP892INIT(3)STATUS=INACTIVE,CLASS=CBA,NAME=3,$HASP892ASID=002C$HASP892INIT(4)221$HASP892INIT(4)STATUS=INACTIVE,CLASS=DCBA,NAME=4,$HASP892ASID=002D..$HASP892INIT(19)236$HASP892INIT(19)STATUS=INACTIVE,CLASS=A,NAME=19,$HASP892ASID=003B$HASP892INIT(20)237$HASP892INIT(20)STATUS=INACTIVE,CLASS=A,NAME=20,$HASP892ASID=003C如何查看启动程序?_通过JES2命令:$DI这个系统定义了20个启动程

序,这意味着(在资源满足的条件下)最多可以有20个JOB同时运行.案倒:提交下列作业,其中的CLASS=M是系统未定义的,如何修改它,使之执行://XP99J1

JOB

1,HXP,CLASS=M,MSGCLASS=H,//

MSGLEVEL=(1,1),NOTIFY=&SYSUID//S1

EXEC

PGM=IEBGENER,REGION=4M//SYSPRINT

DD

SYSOUT=*//SYSIN DD

DUMMY//SYSUT1

DD

*1111111111//SYSUT22222222222DD

SYSOUT=*用JES2命令/SDSF功能来修改INIT-CALSS的关系使用JES2

Command:方法①:修改JOB的ClassCOMMAND

INPUT

===>/$TJ6734,C=A方法②:修改INIT(10)对应的Class假定该作业被INIT(10)选中,且INIT(10)对应的CLASS=ACOMMAND

INPUT

===>/$TI10,C=M恢复命令:$TI10,C=A(恢复INIT(10)-CLASS=A)JOBNAME

JobID

OwnerXP99L JOB06735

XP99CA

(修改后M变为A)INACIVEINACTIVEM

(修改后

CLASS=A

变为=M)ABCD$HASP892

INIT(10)

TATUS=INACTIVE,CLASS=A在SDSF中直接修改:方法①

直接将CLASS

A

改为

M方法②在INIT10

对应之CLASS→ABCD的后面直接将加上MJOBNAMEXP99LJobIDJOB06734OwnerXP99CM

(由A变为M)INACTIVEINACTIVECLASSESAMABCD提示:对INIT-CLASS

的修改不要随心所欲,目的完成后应恢复原状!值得关注(也是容易犯错)的几种现象:提交一个作业后,发现无任何动静,如:没有运行看不到结果处于等待状态SDSF中找不到…等什么原因?如何排查、解决?系统中没有定义CLASS=R进入SDSF选择‘I’

(输入队列)查看、修改

INIT

CLASS系统中没有定义MSGCLASS=A修改JCL的这个参数,重新提交//XP99J

JOB

1,HXP,CLASS=R,MSGCLASS=A,//

MSGLEVEL=(0,0),TYPRUN=HOLD//S1

EXEC

PGM=IEFBR14MGCLEVEL=(0,0)在SDSF中是看不到任何结果信息的(在SYSLOG中检查作业执行否)作业提交后被挂起,进入SDSF-I,该作业其它可能的情况:作业名不对(不是你的userid)INIT资源不够与正在运行的作业同名…等.JES2过程&

JES2PARMJES2启动:暖启动(不清SPOOL)S

JES2,WARM,NOREQS

JES2,COLD,NOREQ

冷启动(清SPOOL及SYSLOG)JES2过程存放在SYS1.PROCLIB中JES2初始化程序放在SYS1.LINKLIB中JES2参数存放在

SYS1.PARMLIB

(JES2PARM)中USER.PARMLIB(COMMNDUR)******************************************************COM=‘S

JES2,PARM=’WARM,NOREQ‘‘

(冷启动:COLD,NOREQ)COM='S

VLF,SUB=MSTR'COM='S

VTAM'COM='S

VTAMUR'COM='S

DLF,SUB=MSTR'COM='DD

ADD,VOL=DUMP02'COM='DD

NAME=DUMP.&JOBNAME..D&YYMMDD..T&HHMM..S&SEQ'COM='DD

ALLOC=ACTIVE'COM='S

EZAZSSI,P=P390'COM='SETPROG

LPA,ADD,MASK=*,DSNAME=WAS500.SBBOLPA'COM='SETPROG

LPA,ADD,MASK=*,DSNAME=WAS500.SBBOLOAD'JES2

暖启动ADCD.ZOSV1R5.PROCLIB(JES2)

_

JES2启动过程*****************************************************************//JES2PROCMEMBER=JES2PARM,ALTMEM=JES2ALT//IEFPROCEXECPGM=HASJES20,DPRTY=(15,15),TIME=1440,PERFORM=9//HASPPARMDDDSN=ADCD.ZOSV1R5.PARMLIB(&MEMBER),DISP=SHR//ALTPARMDDDSN=ADCD.ZOSV1R5.PARMLIB(&ALTMEM),DISP=SHR//PROC00DDDSN=USER.PROCLIB,DISP=SHR//DDDSN=ADCD.ZOSV1R5.PROCLIB,DISP=SHR//DDDSN=CEE.SCEEPROC,DISP=SHR//DDDSN=CSQ531.SCSQPROC,DISP=SHR//DDDSN=EUV.SEUVPRC,DISP=SHR//DDDSN=IOE.SIOEPROC,DISP=SHR//DDDSN=EOY.SEOYPROC,DISP=SHR//DDDSN=HLA.SASMSAM1,DISP=SHR//DDDSN=CBC.SCBCPRC,DISP=SHR////DDDDPRC,DISP=SHRDSN=SYS1.PROCLIB,DISP=SHR//HASPLISTDDDDNAME=IEFRDERJES2PARM是系统参教库的成员名,内含JES2的各种参数定义.JES2ALT是什么意思?KEPTKEPT$PJES2,TERMIEF196I

IEF285IIEF196I

IEF285IIEF196I

IEF285IIEF196I

IEF285I$HASP085

JES2

TERMINATION

COMPLETEIEF404I

JES2

-

ENDED

-

TIME=16.20.49KEPTKEPTIEF196IIEF196IIEF196IIEF285IIEF285IIEF285IIEF196I

IEF285ICPAC.PARMLIBVOL

SER

NOS=

AB1CAT.SYS1.PROCLIBVOL

SER

NOS=

AB1CAT.KEPTKEPT16:20:48.2916:20:49.6716:20:49.6716:20:49.6716:20:49.6716:20:49.6716:20:49.78..16:20:49.7816:20:49.7816:20:49.7816:20:49.78..16:20:49.7816:2:49.7816:2:49.7816:2:49.7816:2:49.78IEF196IIEF196IIEF196IIEF196IIEF285IIEF285IIEF285IIEF285IIEF196I

IEF285IVOL

SER

NOS=

AB1RS3.SYS1.HASPACEVOL

SER

NOS=

SPOLP1.SYS1.HASPACEVOL

SER

NOS=

SPOLP2.JES2关闭命令SYS1.HASPCKP1VOL

SER

NOS=

SPOLP1.SYS1.HASPCKP2VOL

SER

NOS=

SPOLP2.SYS1.PARMLIB(JES2PARM)/********************************************************************/CKPTDEF

CKPT1=(DSNAME=SYS1.HASPCKPT,onc*/VOLSER=OS39M1,INUSE=YES),/*

NAMEFOR

CKPT&DSNPRFX/*

SYS1.HASPCKPT

onc*//*onc*/CKPT2=(DSNAME=SYS1.HASPCKP2,/*

NAMEFOR

CKPT&DSNPRFXonc*/VOLSER=Z5RES2,INUSE=YES),DUPLEX=ON,/*

SYS1.HASPCKP2

ONC*//*/*

NO

DUPLEXING&CHKPT2onc*/nc*/..NITDEFPARTNUM=20/*NUMBER

OF

INITIATORSINIT(1)//*INITIATOR

NAMENAME=1,CLASS=A,START=YES/*

INITIAL

JOB

CLASSES/*

Start

Automatically&MAXPARTwnc*/*/wnc*/ownc*/wnc*/..INIT(20)

NAME=20,/*

INITIATOR

NAMEwnc*/CLASS=ABC,/*INITIAL

JOB

CLASSESownc*/START=YES/*Start

Automaticallywnc*/..所有JES2参数的定义都放在这个成员中定义SPOOL

CKPT名定义启动程序D

PARMLIB

(ADCD

z/OS

V1.5)IEE251I

23.46.32

PARMLIB

DISPLAY

558PARMLIB

DATA

SETS

SPECIFIEDAT

IPLDATA

SETUSER.PARMLIBADCD.ZOSV1R5.PARMLIBENTRY

FLAGS

VOLUMES

OS39M1S

Z5RES1S

Z5RES1SYS1.PARMLIBD

PARMLIB

(DEMOpkg

z/OS

V1.8)IEE251I

23.53.40

PARMLIB

DISPLAY

969PARMLIB

DATA

SETS

SPECIFIEDAT

IPLENTRY

FLAGS

VOLUMES

DMTP07S

DMTRESDATA

SETUSER.PARMLIBSYS1.PARMLIB注意:(JES2PARM)的有效参数按当前有效的系统参数库(*.PARMLIB)的存放顺序来寻找!JES2

处理作业的几个阶段输出-把作业送到输出队列(SYSOUT)打印

-

数据从输出队列送到

、硬拷贝等硬设备.删除-作业结束后,一旦删除,系统即回收所用的全部空间。输入输入-对全部输入的作业(包括JCL、数据集等)进行正确性校验,然后根据作业的Class与优先数,排队进入转换队列。执行-处理并产生输出数据与提示信息等.转换

-

把JCL转换成可读的

格式,并进行有关的检查,然后按优先级进行排队,进入执行队列。转换执行输出打印清除SPOOL在各阶段,提供了一系列的JES2命令--JES2

作业流程输 转

出入JES2

作业流程Stages

of

Job

Processing–

Input打

除////S1MSGLEVEL=(1,1),TYPRUN=HOLDEXEC

PGM=IEBGENER,REGION=2M//SYSPRINT

DD

SYSOUT=*//SYSIN DD

DUMMY//SYSUT1

DD

*1111111111//SYSUT22222222222DD

SYSOUT=*输入

-

对全部输入的作业(包括JCL、数据集等)进行正确性校验,然后根据作业Class与优先数,排队进入转换队列。//&SYSUID.J

JOB

1,HXP,CLASS=A,MSGCLASS=H,TSO

SUBMITOF

Batch

JOB作业进入系统的几种方法Net

WORKJOB

EntrySTARTTASK读入器INTERNAL

READERSJES读入器:Internal

reader读入器是JES2的一项技术,是将JOB送入系统段.z/OS通过又是通过多个读入器把输入流传给JES2,而JES2读入器来同时接收多个JOB.z/OS对来自STC、START命令

TSO

Logon

的请求,先把JCL传给了JES2,JES2在初始化处理期间分配

读入器.系统程序员定义

读入器去处理所有(除STCs和TSO请求之外)的批作业.MASTER

SCHEDULER

JCL

FOR

THIS

IPL

TAKEN

FROM

MEMBER

MSTJCL00

OF

PARMLIB//MSTJCL00

JOB

MSGLEVEL=(1,1),TIME=1440// EXEC

PGM=IEEMB860,DPRTY=(15,15)//STCINRDR

DD

SYSOUT=(A,INTRDR)//TSOINRDR

DD

SYSOUT=(A,INTRDR)//IEFPDSI////SYSUADS//SYSLBCDD

DSN=ADCD.ZOSV1R5.PROCLIB,DISP=SHRDD

DSN=SYS1.PROCLIB,DISP=SHRDD

DSN=SYS1.UADS,DISP=SHRDD

DSN=SYS1.BRODCAST,DISP=SHR//IEFPARM

DD

DISP=SHR,UNIT=SYSALLDA,VOL=SER=OS39M1,//

DSN=USER.PARMLIB// DD

DISP=SHR,UNIT=SYSALLDA,VOL=SER=Z5RES1,//

DSN=ADCD.ZOSV1R5.PARMLIB// DD

DISP=SHR,UNIT=SYSALLDA,VOL=SER=Z5RES1,//

DSN=SYS1.PARMLIB//*

LOADxx

parmlibs

put

in

MSTRJCL

concatenationIEF403I

MSTJCL00

-

STARTED

-

TIME=20.51.43…在主调度的启动程序中,使用了

读入器技术!(这两条语句是完成什么工作的?)它可以通过批作业(或程序)

来产生其它的批作业,并将它们送入系统中运行,如:通过一个SYSOUT数据集格式来生成一个作业,直接指向读入器.(就是说JES2将SYSOUT数据集视为一个引入的作业读入到SPOOL中)你也可以在一个(如汇编)源程序中将一个作业流写到读入器中.读入器有一个特别的功能在XP99.J1中引出另一个作业XP99.J2,将其读入SPOOL中,并执行XP99.J2

(无须使用SUB命令)//XP99J1

JOB

1,HXP,

MSGCLASS=H,MSGLEVEL=(1,1),////S1CLASS=A,NOTIFY=&SYSUIDEXEC

PGM=IEBGENER//SYSUT1DD

DATA,DLM=##//SYSPRINT

DD//SYSIN

DDDUMMY//XP99J2

JOB

1,HXP,MSGCLASS=H,MSGLEVEL=(1,1),//

CLASS=A,NOTIFY=&SYSUID//S2

EXEC

PGM=IEFBR14##//SYSUT2

DDSYSOUT=(*,INTRDR)SYSOUT=*读入器(INTRDR)使用案例-1:如果将XP99J2

改成XP99,结果显示为:JOBNAMEXP99J1XP99JobIDJOB01290JOB01291OwnerXP99XP99Prty

C128

A128

AJOB:XP99J1EXEC:STEP2EXEC:STEP3EXEC:STEP1EXEC:STEP1EXEC:STEP2CC=0CC=0CC≠0CC≠0JOB:XP99J1JOB:XP99J2在一个JOB中(根据条件码)仅可实现

STEP

之间的转移:而利用

读入器(INTRDR)则可实现

JOB

之间的转移:XP99.JCL(ALOC)//XP99AJOB

..//STEP EXEC

..//DD

DD

..系统命令:S

SUBJOB,DSN=XP99.JCL,MEM=ALOC那么这个“SUBJOB”过程是如何编写的呢?读入器使用案例-2:使用START命令(在SDSF

/Console环境中)触发INTRDR来读入一个PO数据集中的成员(其內必须是一个JCL作业),实现在

提交一个(JCL)JOB

执行之!我不必登录TSO,只要有个Console/SDSF环境.我也不必进入某个JCL作业所在的数据集中.我

使用什么SUB命令.我只要使用一条START命令,启动一个过程就可以提交任何一个JCL作业!(提示:要考虑运行的安全问题)Ha

!Ha

!Ha

!//SUBJOB

PROC

CLASS=‘X’,LIST=X//*

S

SUBJOB,DSN=XP99.JCL,MEM=ALOC//IEFPROC EXEC

PGM=IEBEDIT//SYSPRINT

DD//SYSUT1//SYSUT2//SYSIN//IEFRDERSYSOUT=&LISTDD

DDNAME=IEFRDERDDDDDDSYSOUT=(&CLASS,INTRDR),DCB=BLKSIZE=80DUMMYDISP=SHR,DSN=&DSN.(&MEM.)这个过程书写如下:由

读入器读入

XP99.JCL(ALOC)

中的作业,并执行之!系统命令:S

SUBJOB,DSN=XP99.JCL,MEM=ALOC(On

System

Console

Or on

SDSF)XP99.JCL(ALOC)

://XP99A//STEP//DDJOB..EXEC

..

DD

DSN=..读入器使用案例-3:由汇编程序将一个/多个JCL作业交给INTRDR去执行!读入器INTERNAL

READERSJ1CL10CL80C‘JOB

JCL语句’OUTAREA0CL80CL80OUTDCBSUBJOB

START..MVC

OUTAREA,J1CL1PUT

OUTDCB,OUTAREA..DSDC..DSDCDCBDS

=PS,MACRF=PM,DDNAME=TEST,RECFM=FB,LRECL=80,BLKSIZE=80SUBJOBJESPGM=SUBJOBEND//XP99ASM

EXEC..//TEST

DD

SYSOUT=(A,INTRDR),DCB=BLKSIZE=80可以实现下列流程:一个汇编程序用PUT宏指令将JCL语句扔给读入器去执行!一个JOBJOB1..JOBn//XP99A

JOB..//XP99N

JOB..//XP99B

JOB....PUT自动执行:XP99A、XP99B..XP99NTSO终端TSO终端Console

/

SDSFJES读入器应用方法小结提交作业无需使用SUB命令读入器从一个Utility_IEBGENER中(以数据形式)“扔一个JOB”给读入器去执行!通过IEBEDIT从任意一个数据集的(Member)中“抓出一个JCL作业”,“扔给”读入器!通过汇编程序宏语句

(以数据形式)“扔一个/多个JOB”给读入器!一个JCL

JOB一个JCL

JOB一个/多个JCL

JOBs提问:在JES2的运行环境中,有哪三类任务在运行?STC_Started

Task05173

15:06:18.00

STC00564

0000009005173

15:06:18.01

STC00565

00000290$HASP373

TSOIEF695I

START

SDSFSTARTEDWITHJOBNAME

SDSF IS

ASSIGNED

TO

USER

START2,

GROUP

SYS1$HASP373

SDSF

STARTEDIEF403I

TSO

-

STARTED

-IEF403I

SDSF

-

STARTED

-05173

15:06:18.01

STC00565

0000009005173

15:06:18.03

STC00564

00000281TIME=15.06.1805173

15:06:18.04

STC00565

00000281TIME=15.06.1805173

15:06:18.18

STC00566

00000290IEF695I

START

IRRDPTAB

WITHJOBNAME

IRRDPTAB

IS

ASSIGNED

TO

USER

START2,

GROUP

SYS105173

15:06:18.18

STC00566

00000090 $HASP373

IRRDPTAB

STARTED05173

15:06:18.19

STC00567

00000290 IEF695I

START

TCPIP

WITHJOBNAME

TCPIP ISASSIGNED

TO

USER

TCPIP,

GROUP

OMVSGRP05173

15:06:18.19

STC00567

00000090 $HASP373

TCPIP

STARTEDTSU_TSO

USER0517315:21:27.84TSU0057800000281$HASP100

IBMUSER ONTSOINRDR0517315:21:28.38TSU0057800000090$HASP373

IBMUSER

STARTED0517315:21:28.38TSU0057800000281IEF125I

IBMUSER

-

LOGGED

ON

-

TIME=15.21.280517315:22:52.85TSU0057900000281$HASP100

TE001 ONTSOINRDR0517315:22:53.01TSU0057900000090$HASP373

TE001

STARTED0517315:22:53.02TSU0057900000281IEF125I

TE001

-

LOGGED

ON

-

TIME=15.22.530517315:22:53.3500000281IEF196I

IEF237I

0A82

ALLOCATED

TO

SYS000080517315:23:30.21TSU0057900000281IEF126I

TE001

-

LOGGED

OFF

-

TIME=15.23.300517315:23:30.21TSU0057900000281$HASP395

TE001

ENDED0517315:23:30.24TSU0057900000281$HASP250

TE001

PURGED

--

(JOBKEY

WASIEA989I

SLIP

TRAP

ID=X33E

MATCHED.BD33874A)05173

15:23:35.25

00000281JOBNAME=*UNAVAIL,

ASID=001B.0517315:23:51.75TSU0058000000281$HASP100

SP001ONTSOINRDR0517315:23:51.91TSU0058000000090$HASP373

SP001STARTED0517315:23:51.92TSU0058000000281IEF125I

SP001

-LOGGED

ON

-

TIME=15.23.51JOB05174

01:36:14.39

JOB00597

00000281REASON=00000034

40 540

0000028105174

01:36:14.41

JOB00597

000000900517401:36:14.41JOB0059700000281$HASP395IBMUSERCENDED0517401:36:14.4200000281$HASP309INIT

1INACTIVE..0517401:42:07.23JOB0059800000281$HASP100IBMUSERCON

INTRDR0517401:42:07.25JOB0059800000290IRR010IUSERID

IBMUSER

ISIEF450I

IBMUSERC

STEP

-

ABEND=S013

U0000TIME=01.36.14IEF404I

IBMUSERC

-

ENDED

-

TIME=01.36.14********C=AW.B.ASSIGNED

TO

THISICH70001I

IBMUSER LAST

ACCESS

AT

01:36:14

ON$HASP373

IBMUSERC

STARTED-

INIT

1 -CLASSIEF403I

IBMUSERC

-

STARTED

-

TIME=01.42.07IEC030I

B37-04,IFG0554A,IBMUSERC,STEP,ACCDEV,JOB.05174

01:42:07.29

JOB00598

00000281THURSDAY,

JUNE

23,

200505174

01:42:07.29

JOB00598

00000090A

-

SYS

SYS10517401:42:07.30JOB00598000002810517401:42:09.04JOB00598000000900A96,WORK02,SYS1.LOGREC.TEMJESJOB

通过读入器读进一个作业.任务–通过START命令来启动这个Task.TSO用户

通过Logon.INTERNAL

READERBatch

JOBSSTCINDERSTARTED

TASKINTERNAL

READERTSO

LOGONSJOB、TASK、TSO-UserBatch

Job

SpoolingAny

Job

ControlLanguage

(JCL)in

the

input

stream.Any

Job

EntryControl

Language(JECL)in

the

input

stream.Any

data

(SYSIN)in

the

input

stream.JESSPOOLINPUTJCLSYSINBatch

Job

Jobqueue

Entry例①://.

JOB

CLASS=R(R在JES2中未定义)例②//.

JOB

CLASS=A,..//

TYPRUN=HOLD(A在JES2中定义了,但是处于HOLD

状态)以上两例进入排队(未执行)队列.JESSPOOLJCLSYSIN资源:JOBNAME

/

CLASS

/

PRTY

/

JOBNO.QUEUEUM=*,MODE=JES,QAFF=(ANY),QHELD=NO,SCHENV=,XEQCOUNT=(

UM=*,CURRENT=0),XEQMEMBER(MVST)=(CURRENT=0)JOB的选中,有两种MODE

(JES

&

WLM

),在(JES2PARM)中定义.JES模式:这是一种传统的模式,作业(根据其申请的资源条件,如优先数、CLASS等)一旦被选中,则进入JES2的管理模式,JES2选择对应的INIT启动处理,系统会发出如下消息:$HASP373

XP99JOB STARTED

-

INIT

1

-

CLASS

A

SYS

SYS1$D

JOBCLASS(A)$HASP837

JOBCLASS(A)

969$HASP837

JOBCLASS(A)$HASP837$HASP837$HASP837$HASP837$HASP837$HASP837

JOBCLASS(B)

970MODE=WLM,QAFF=(ANY),QHELD=NO,SCHENV=,UM=*,$D

JOBCLASS(A)$HASP837

JOBCLASS(A)

604$HASP837

JOBCLASS(A)$HASP837$HASP837$HASP837$HASP837

XEQMEMBER(MVST)=($HASP837XEQCOUNT=(CURRENT=0),UM=*,CURRENT=0)WLM模式:如果作业对应的JOBCLASS,定义是MODE=WLM,那么这个作业被选中后进入由WLM控制的

,在WLM中事先制定了相关的策略,即根据作业申请的资源(如优先数、CLASS、作业名等)会对应一个

Service

Class,最终由WLM动态控制的INIT来启动处理,系统会发出如下消息:$HASP373

XP99JOB

STARTED

WLM

INIT

-

SRVCLASSBATWLMME

-

SYS

SYS2注:该模式用于Sysplex系统(或某些有特殊需求的作业),但Sysplex系统也并非必须使用该模式(取决各系统之间对批作业的处理策略).显示系统定义的作业优先数:$D

JOBPRTY$HASP832JOBPRTY(1)PRIORITY=9,TIME=2$HASP832JOBPRTY(2)PRIORITY=8,TIME=5$HASP832JOBPRTY(3)PRIORITY=7,TIME=15$HASP832JOBPRTY(4)PRIORITY=6,TIME=279620$HASP832JOBPRTY(5)PRIORITY=5,TIME=279620$HASP832JOBPRTY(6)PRIORITY=4,TIME=279620$HASP832JOBPRTY(7)PRIORITY=3,TIME=279620$HASP832JOBPRTY(8)PRIORITY=2,TIME=279620$HASP832JOBPRTY(9)PRIORITY=1,TIME=279620TSO

Logon

SpoolingTSOUSERADDRESSSPACEJESRACFDatabaseRACF对TSO用户进行

检查!UIDPASSWORD*

LOGON

AME也可以不实施RACFStarted

Task

SpoolingSTARTEDTASKADDRESSSPACESPOOLJCLSYSINJESJCLJCLSYS1.PARMLIB(JES2PARM)/********************************/*

STC

DEFAULTS/*******************************************************************//*

JOBSTEP

TIME/*

REGION

SIZE*/*/STCCLASS

TIME=(0060,00),REGION=4M,../*******************************************************************//*

JOB

DEFAULTS/**********************************************/*

ACCT#NOT

REQ/*

PGMRNM

NOT

RQ/*

JOB

STEP

TIME/*

REGION

SIZE/*

VERIFY

CMDS/*

IGNORE

BLP/*

ALLOWALL

CMD/*

JOB,

AL

GS/*

DEFAULT

MESSAGE

CLASS

*/JOBCLASS(A)

ACCT=NO,PGMRNAME=NO,TIME=(0060,00),REGION=4M,COMMAND=VERIFY,BLP=NO,AUTH=ALL,MSGLEVEL=(1,1),MSGCLASS=H,../*******************************************************************//*

TSO

DEFAULTS

*//*******************************************************************//*

JOB

STEP

TIME/*

REGION

SIZE*/*/TSUCLASS

TIME=(1440,00),REGION=4M,..问:下面这个作业的JOB语句,参数全部缺省了,可以执行吗?答:可以执行,缺省参数值在这里定义!STC、TSU、JOB三种CLASS的定义*///

JOB//S

EXECPGM=IEFBR14输出打

除输

行换JES2

作业流程Stages

of

Job

Processing–

ConversionJob

Conversion(转换)SPOOLJCLSYSINJESPROCLIBPROCJCL转换成

识别的格式(相当高级语言的编译,毕竟JCL也是一种语言!)转换是在SPOOL中进行的.例://

JOB CLASS=A,..

TYPRUN=SCANSCAN:在转换过程中进行语法检查.Job

Interpreter-JES2(翻译)JES2ADDRESS

SPACEINITATORADDRESS

SPACEINTERPRETERMYJCLMYCONTROLBLOCKS翻译程序将格式再转为相应的控制块,放在INIT

AS

调度工作区,供启动程序使用.输

入 转

除行JES2

作业流程Stages

of

Job

Processing–

Execution//XP99J

JOB

1,HXP,CLASS=A,MSGCLASS=H,//////S1MSGLEVEL=(1,1),NOTIFY=&SYSUID,PRTY=(通常缺省)EXEC

PGM=IEBGENER,REGION=2M//SYSPRINT

DD

SYSOUT=*//SYSIN DD

DUMMY//SYSUT1

DD

*1111111111//SYSUT22222222222DD

SYSOUT=*Execution

phase一个作业的执行,JES要考虑:

Job

ClassJob

Priority当这个作业执行完毕后、

JES从就绪队列中选择下一个等待执行的作业,也是按此原则进行的。作业执行完毕后要查看返回码:STEP

WAS

EXECUTED

COND

CODEIBM

Utility

通常正常/

结束代码是:0000

/0004

、0008、0016-查看作业结果可以有两种选择:①

SDSF

ISPF3.8MODE=JES,QAFF=(ANY),QHELD=NO,SCHENV=,

XEQCOUNT=(UM=*,

CURRENT=0),XEQMEMBER(MVST)=(

UM=*,CURRENT=0)MODE=JES,QAFF=(ANY),QHELD=NO,SCHENV=,

XEQCOUNT=(UM=*,

CURRENT=0),XEQMEMBER(MVST)=(

UM=*,CURRENT=0)显示系统定义的

JOBCLASS:$D

JOBCLASS(*)$HASP837

JOBCLASS(A)512$HASP837

JOBCLASS(A)$HASP837$HASP837$HASP837$HASP837$HASP837$HASP837

JOBCLASS(B)513$HASP837

JOBCLASS(B)$HASP837$HASP837$HASP837$HASP837$HASP837…$HASP837

JOBCLASS(Q)

750$HASP837

JOBCLASS(Q)$HASP837$HASP837$HASP837$HASP837MODE=JES,QAFF=(ANY),QHELD=NO,SCHENV=,XEQCOUNT=(

UM=*,CURRENT=0),XEQMEMBER(MVST)=(UM=*,JOB

1,HXP,CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=&SYSUID//XP99J1//STEP1

EXEC//STEPLIB

DD//SYSPRINT

DDPGM=TESTDSN=XP99.LOAD,DISP=SHRSYSOUT=*JOB

1,HXP,CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=&SYSUID//XP99J2//STEP1

EXEC//STEPLIB

DD//SYSPRINT

DDPGM=TESTDSN=XP99.LOAD,DISP=SHRSYSOUT=*JOB

1,HXP,CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=&SYSUID//XP99J3//STEP1

EXEC//STEPLIB

DD//SYSPRINT

DDPGM=TESTDSN=XP99.LOAD,DISP=SHRSYSOUT=*JOB

1,HXP,CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=&SYSUID//XP99J4//STEP1//STEPLIBEXEC

PGM=TESTDD

DSN=XP99.LOAD,DISP=SHR//SYSPRINT

DD

SYSOUT=*JOB

1,HXP,CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=&SYSUID//XP99J5//STEP1

EXEC//STEPLIB

DD//SYSPRINT

DDPGM=TESTDSN=XP99.LOAD,DISP=SHRSYSOUT=*案例:以下是5个程序相同的作业,同时提交这5个作业!===>SUB

Scroll

===>

CSR*******************************

Top

of

Data

******************************//XP99J1JOB..//XP99J2JOB..//XP99J3JOB..//XP99J4JOB..//XP99J5JOB..IKJ56250IJOBXP99J1(JOB00173)SUBMITTEDIKJ56250IJOBXP99J2(JOB00174)SUBMITTEDIKJ56250IJOBXP99J3(JOB00175)SUBMITTEDIKJ56250IJOBXP99J4(JOB00176)SUBMITTEDIKJ56250IJOBXP99J5(JOB00177)SUBMITTED***10.56.17JOB00173$HASP165XP99J1ENDEDATTSTMVS01MAXCC=0CN(INTERNAL)10.56.18JOB00175$HASP165XP99J3ENDEDATTSTMVS01MAXCC=0CN(INTERNAL)10.56.18JOB00174$HASP165XP99J2ENDEDATTSTMVS01MAXCC=0CN(INTERNAL)10.56.18JOB00177$HASP165XP99J5ENDEDATTSTMVS01MAXCC=0CN(INTERNAL)10.56.18***JOB00176$HASP165XP99J4ENDEDATTSTMVS01MAXCC=0CN(INTERNAL)这五个作业被并行提交,并产生结束的返回代码!SDSF

HELD

OUTPUT

DISPLAY

ALL

CLASSESJobID

Owner Prty

C

ODisp

DestTot-Rec383838383838383838383838XP99J2JOB00179XP99144HHOLD

LOCAL38XP99J3JOB00180XP99144HHOLD

LOCAL38XP99J1JOB00178XP99144HHOLD

LOCAL38JOB00169JOB00168XP99XP99144144HHHOLDHOLDLOCALLOCALJOB00172XP99144HHOLDLOCAL思考:1)这五个作业连续提交了三次,为什么每次结果的排序都不一样?

2)这五个作业是以怎样的次序进入JES2

的?NP

JOBNAMEXP99J2XP99J1XP99J5XP99J4XP99J3JOB00171JOB00170XP99XP99144144HHHOLDHOLDLOCALLOCALXP99J1JOB00173XP99144HHOLDLOCALXP99J5JOB00177XP99144HHOLDLOCALXP99J4JOB00176XP99144HHOLDLOCALXP99J3JOB00175XP99144HHOLDLOCALXP99J2JOB00174XP99144HHOLDLOCALXP99J5JOB00182XP99144HHOLDLOCALXP99J4JOB00181XP99144HHOLD

LOCAL215431543254231JOB

在执行处理时JES2

提供了三种计时:ELAPSED

TIMETCB

CPU

TIMESRB

TIME通俗地讲,ELAPSED TIME

是指一个作业从开始执行→结束的整个(运行)时间,其中含等待(资源、应答)的时间。而TCB

CPU TIME

是作业在执行时真正耗用主机CPU的时间。SRB TIME则是系统在为一个作业处理时所完成的一系列服务而耗用CPU的时间。问:你认为在向用户收取作业的计时费时,选取上述哪些指标比较合理?03.24.01JOB02671-

MONDAY,J

E

S

2 J

O

B L

O

G

-- S

Y

S

T

E

M S

P

221

JUN

2004

-IRR010I USERID

PRD1CICS

IS

ASSIGNED

TO

THISJOB.ICH70001I

PRD1CICS

LAST

ACCESS

AT

03:23:44

ON

MONDAY,

JUNE

21,HASP373

BATN124 STARTED

-

INIT

1 -

CLASS

A

-

SYSSP2IEF403I

BATN124

-

STARTED

-

TIME=03.24.01IEF404I

BATN124

-

ENDED

-

TIME=04.25.2803.24.01

JOB0267103.24.01

JOB02671200403.24.01

JOB0267103.24.01

JOB02671..04.25.28

JOB0267104.25.28

JOB02671-BATN124

ENDED.

TOTAL

TCB

CPUTIME=

19.9504.25.28

JOB02671 HASP395

BATN124NAME-TOTAL

ELAPSED

TIME=

61.4ENDED-

JES2

JOB

STATISTICS

-61.45

MINUTES

EXECUTION

TIME1

//BATN124

JOB

DEV,MSGLEVEL=(1,1),REGION=0MJCLLIB

ORDER=PRD.ABISBAT.PROCLIBEXEC

CDB0404//UPLIB//CMD..IEF376IJOB/BATN124

/STOP2004173.0425

CPU19MIN

57.34SECSRB 0MIN

01.13SEC输

入 转

除出JES2

作业流程Stages

of

Job

Processing–

OutputSYSIN

Data

ProcessingINITMYSPOOLJCLSYSINJESSYSIN如果JCL是从SYSIN中

数据,那么就是从SPOOL中

.SYSOUT

Data

ProcessingINITMYSPOOLJCLSYSINJESSYSOUT注意:数据是送到SPOOL中,而非设备.SYSOUT//XP99J

JOB

1,HXP,CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1)//S1 EXEC

PGM=IEBGENER,REGION=2M//SYSPRINT

DD

SYSOUT=*//SYSIN DD

DUMMY//SYSUT1

DD

*1111111111//SYSUT22222222222DD

SYSOUT=*这个SYSOUT

表示何意?问:如何将数据直接送到O

队列?如何将数据先接送到H队列,然后再转送到O(打印输出)队列?这个SYSOUT又表示何意?显示系统定义的作业输出优先数:$D

OUTPRTY$HASP848$HASP848$HASP848$HASP848OUTPRTY(1)OUTPRTY(2)OUTPRTY(3)OUTPRTY(4)PRIORITY=144,RECORD=2000,PAGE=50PRIORITY=128,RECORD=5000,PAGE=100PRIORITY=112,RECORD=15000,PAGE=300PRIORITY=96,RECORD=16777215,$HASP848PAGE=16777215$HASP848OUTPRTY(5)PRIORITY=80,RECORD=16777215,$HASP848PAGE=16777215$HASP848OUTPRTY(6)PRIORITY=64,RECORD=16777215,$HASP848PAGE=16777215$HASP848OUTPRTY(7)PRIORITY=48,RECORD=16777215,$HASP848PAGE=16777215$HASP848OUTPRTY(8)PRIORITY=32,RECORD=16777215,$HASP848PAGE=167772

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论