IBM主机技术一本通学习-02

1、JCL每行80列
原来这是因为在1960年那个年代,程序员使用的是穿孔卡片来将JCL作业控制语句一个一个的输入系统,构成了批量作业,而当时穿孔卡片只有80列。

2、JOB语句的关键字参数
ADDRSPC REGION MSGCLASS SECLABEL PASSWORD BYTES CLASS RD MSGLEVEL TIME PERFORM PAGES COND LINES CARDS TYPRUN PRTY SCHENV GROUP RESTART NOTIFY USER CCSID
标有颜色的几个是我自己比较常用到的。
上张包含了这9个常用JCL关键字参数的图(当然,平常工作当中一般不可能在单个JCL当中都包含了所有的这9个关键字,我这里只是为了更好的说明才把它们罗列在一个JCL里面的,这点要明白)
JCL-keyword
CLASS是作业运行队列的优先级,MSGCLASS是作业输出信息的级别,它规定了作业输出信息送往哪里显示。CLASS和MSGCLASS都是公司规定好了的,肯定有文档可以查看具体信息的。
NOTIFY是指最终作业运行的结果通知给谁,可以写详细的ID,比如IBMUSER,也可以写通用的参数,比如&SYSUID,这样的话,谁运行它就显示给谁看。REGION规定作业所需的实存或虚存的大小,在JOB level定义的话就运用到整个JOB的所有STEP,当然,可以每个STEP单独定义REGION的大小。
TIME用来限制作业占用CPU的最长时间,当TIME参数达到指定的时间时,作业就会异常终止,用来避免死循环等低级错误。图中我们规定CPU时间为1分30秒。TIME参数还可这么写:
TIME=l440                     —-1440 mins
TIME=NOLIMIT              —- nolimit
TIME=MAXIMUM            —-357912 mins
USER和PASSWORD一起用,比如你自己的权限比较低,你申请了一个临时的权限比较高地ID来submit作业的时候,你就可以这么指定,系统会认为这个JOB是那个有较高权限的人提交的,而不是你提交的。
RESTART,用来指定JOB从哪一个STEP开始执行,不然默认就是从第一个STEP开始执行。
COND指定了单个STEP执行的前提条件,用法很灵活,这里不展开。

3、PARM参数有100个字符限制
PARM参数用来在JCL的具体STEP中给程序传递变量参数,它用引号括起来,不能超过100个字符。

4、Dummy 哑数据集
每个程序需要访问的数据集在作业流中都必须有一个ddname与其对应。如果你在程序里面定义了文件而在JCL中没有定义对应的DD语句,就会ABEND。当有时候输入数据集对程序来说是可选的或者程序要输出地数据集不是必需的时候,我们就用Dummy数据集来跳过它所有的I/O操作。

5、DATASET串联(Concatenation)
dataset-concatenation
使用这个特性是很方便的,特别是在一些SORT的场合,把几个DATASET同置于一个SORTIN下面。只是要注意的是这些DATASET的属性要完全一致,就是它们所有的DCB子参数必须一致。包括RECFM,LRECL,BLKSIZE

分享到:

IBM主机技术一本通学习-01

这一系列文章将会是从《IBM主机技术一本通》里面选取我个人认为对我有用的部分来记录和阐述。

1、LRECL和BLKSIZE
JCL-LRECL-BLKSIZE
LRECL:逻辑记录是程序想要处理的一个数据单元,通常由许多连接在一起的区域构成
BLKSIZE:物理单元(又称块)描述了在一次输入输出操作中需要传送的数据量,如上图所示,你一定发现了BLKSIZE必须是LRECL的整数倍,显然这是因为BLKSIZE是多个LRECL嘛!
任何时候发生输入输出时传送的是整个块而不是单个逻辑记录,这样做的好处显而易见,有效地使用空间,提高传送率。

2、I——PDS(分区数据集)信息分析
一直对这个知识点一知半解的,今天看了一本通之后,算是明白了。照着图说:
PDS-Infor

呃… 存储介质:标准磁盘;卷名:PRIM03;设备:3390;组织结构:PO(分区数据集),固定记录长度,记录长度80字节,块大小27920字节,首次分配1 track,用完后每次可扩展分配195个tracks,当前已经分配了2个track,一共分配了1次,最多可以有10个目录块,即最多可以有10×4=40个member,当前已经使用了2个tracks,当前已经分配了1次,已经有6个member,使用了2个目录块(4和2)

3、L member
将这个命令列在这里不是不会用,恰恰是天天用经常用。只是羞于我一直以为这里L是List的缩写,原来人家吕老师说了,这是Locate的缩写,目的是每次都将PDS下面的你要找的member定位在第一个位置。

4、查看VTOC信息
VTOC是系统中的一个顺序数据集,存放在磁盘的0柱面0磁道之后,65535磁道之前。用于记录存储设备上所有数据集的属性,每个磁盘均有一个VTOC
例如,我要查看磁盘卷PRIM02的信息。
3.4;V
在Volume Serial上填:PRIM02
MVS-VTOC-Info
PRIM02卷总共有50085 tracks,已经用了51%,1个cyls等于15个tracks,VTOC数据集本身分配了45个tracks,已用的占26%,还有1677个可用的DSCBS(数据集控制块),PRIM02卷上一共还有24430tracks(即1590个Cyls)未使用,未使用的空间中最大的一块有3600tracks(即240个Cyls)

分享到:

IBM主机技术一本通

周末去市图书馆走了一圈,竟然让我看到有本《IBM主机技术一本通》。这本书前两个月同事买了,貌似100多,现在京东报价是96元,淘宝上也差不多。当时我就快速翻了一遍,第一感觉是:书很厚,看了目录,贴近当前我所做的内容,还有就是内容丰富,涵盖的主机技术比较全,但貌似感觉有点罗列的成分,比较适合主机新人,给他们一个整体框架的印象。当然,800多页的书也并不是都是罗列,有很多内容是很详细的,我认为是:每个主机人都可以有针对性的看,你会的,快速过,不会的,详细看,最好要在大机上实践验证,这样记得牢。

刚拿回来,这么重的书我都背回来了,看来不看是对不住了。更何况是不花钱的好书。只不过没花钱买感觉有些对不住作者了。作者吕新民应该算国内主机界的资深前辈了吧。看人家的工作经历可以追溯到我出生之前好几年呢。

这是作者的新浪博客:http://blog.sina.com.cn/newmanworkshop,可以多关注下,都是为了学习进步嘛,希望前辈多出书呐!

好了,我会有一个详细的学习计划,好好把这本书吃透,从中汲取自己目前还欠缺的知识。

分享到: