1、ibm主机操作系统使用入门zos基本命令使用指南前言-2第一章ISPF/PDF、SDSF、TSO和JES2简介-3第二章菜单使用方法-4第三章ISPF/PDF环境常用命令-6第四章SDSF环境常用命令-17第五章TSO命令-19第六章访问DB2-21第七章CICS常用系统交易-23第八章应用程序的编辑、编译和运行-24第九章其它知识-27第十章常用参考书目-28前言为满足我行数据大集中战略的需要,我行有许多应用开发人员要转而在主机平台上做应用开发工作。虽然他们十分精通开放平台的相关技术,但对主机平台的有关知识却知之甚少。为了使这部分技术人员能尽快地熟悉主机环境、上手工作,我们特别编写了这本小册
2、子,主要介绍在主机平台上有关应用开发的入门知识。希望能给大家带来些许帮助。这里要说明一点,这本小册子介绍的知识都是基于ZDVP环境。其实,其它环境也仅仅是菜单画面、对象名称不同而已。第一章 ISPF/PDF、SDSF、TSO和JES2简介ISPF/PDF(Interactive System Productivity Facility/Program Development Facility)是一个具有菜单驱动和交互式界面的功能强大的主机平台上的产品,通过使用它,我们可以完成很多工作,比如,建立、测试JCL,编辑、编译和调试应用程序,管理数据集,访问DB2等等。SDSF(System Disp
3、lay and Search Facility)是另一个常用的工具软件。它可以向用户提供大量的信息以协助用户监测、管理以及控制MVS/JES2系统。利用SDSF,用户可以完成如下工作:控制作业处理进程(保留,释放,取消与清除作业),对正在运行的作业进行监测,无需打印可浏览作业,控制作业级别,控制打印机、Punches、Readers与Initiators,控制网络的连线与节点,控制SPOOL的下载设备,显示并控制WLM安排的系统环境与资源以及执行针对作业的JES2和MVS命令 。ISPF和SDSF都是运行在TSO(Time Sharing Option)之上的,而我们可以将TSO看成是Z/OS
4、操作系统的一个组成部分。先由系统管理员为我们建立USERID和初始PASSWORD,使我们成为TSO的合法用户,然后,我们通过登录TSO,来使用ISPF和SDSF等产品工具。注意,第一次登录时,系统强制我们更改PASSWORD。而JES2(Job Entry Subsystem 2)也可看成是Z/OS操作系统的一个组成部件,它负责作业的调度、控制、和管理。JES2处理作业可分为六个阶段。1.接收用户提交的作业到系统输入队列中。2.通过转换程序对用户作业进行语法分析和格式转换。将作业控制语言的JCL语句转换成系统能读懂的内部形式,同时也进行一些其它的校验。如发现错误,则将该作业从系统中清除并向用
5、户发出相应的信息。3.将作业送到系统中执行。这时JES放弃对作业的控制权。4.输出阶段。包括一些有关该作业的系统信息的输出。输出结果一般分作好几段,存放在SPOOL假脱机磁盘空间中。5.打印阶段。此时,作业状态为PRINT。6.清除阶段。JES2释放分配给作业的资源,以待分配给其它作业。JES会对作业的优先权进行动态调整,作业等待运行的时间越长,系统将它的优先权提升的越高。第二章 菜单使用方法1.登录和退出系统登录TSO:在初始画面(VTAM的登录画面)下,键入TSO USERID,按回车键进入TSO LOGON画面;输入口令后回车便进入MASTER APPLICATION MENU,就可以使
6、用系统了。注意:这里的回车键是指IBM3270键盘的ENTER键(以后我们就称谓其为回车键)。对应到PC机上,一般是右CTRL键,而PC的ENTER键则对应3270键盘的NEWLINE键。退出TSO:在任意地方,按F3一路退下去,直到Specify Disposition of Log Data Set画面,一般选择2,回车,然后键入LOGOFF退到初始画面。登录CICS:在初始画面下,键入LOGON APPLID(DVPCICS1),回车进入Signon to CICS画面;依次键入USERID和PASSWORD,回车就可登录到DVPCICS1了。注意:用LOGON APPLID(TSO)也
7、可登录到TSO里面去。退出CICS:在清屏状态下,键入CESF LOGOFF,回车。2.熟悉MASTER APPLICATION MENU菜单操作快捷路径:P.3.4(或P;3;4)-直接到Data Set List Utility画面;SD.ST-直接到Status of jobs画面分屏:键入START命令或按F2键即生成一个新的交互画面。用F9或SWAP n(n为画面序号)在几个画面之间切换。快速换屏:在ISPF/PDF中,无论你在哪个画面,你都可以在OPTION或COMMAND后,输入=3.4,便进入Data Set List Utility画面。以次类推。注意:若直接键入=X,就会退
8、出ISPF/PDF。异常中断:当你想中断某种操作,可做如下尝试:点击鼠标右键,系统响应一弹出菜单,选中键盘1,再点击PA1。第三章 ISPF/PDF环境常用命令这里,我们仅介绍在程序开发过程中常用到的,与DATASET或MEMBER等对象相关的操作方法。这里应该先说明一下,ZDVP系统是实施了SMS的,就是说,很多存储方面的管理工作是交给系统完成的,这也为我们省去了很多麻烦。1.显示数据集(P.3.4) 我们在主菜单下,键入P.3.4即进入Data Set List Utility画面。假设我们想显示以ZDEVP203开头的DATASET,可在Dsname Level处填上DEVP203*.*
9、。如下图所示。再按回车键,即得到需要的数据集列表。(如下图所示)2.生成数据集(P.3.2)我们在主菜单下,键入P.3.2即进入Data Set Utility画面。在这里,我们可以对数据集进行生成、改名、删除、CATALOG、UNCATALOG等操作。假设我们要建立一个名为DEVP203.TEST.JCL的分区数据集,我们该如何做呢?a)这里有个技巧。我们可以先显示一个数据集,这个数据集与我们将要定义的数据集具有相同的属性,这样,系统就会把相关属性参数传到我们定义数据集所用到的画面中,我们就可以在这个基础上,做一定的修改,最后得到我们想要的属性参数,来生成数据集。b)如图,我们在Data S
10、et Name处填 DEVP203.TEST.JCL,在Option处填A。按回车。c)系统响应Data set allocated表示数据集定义完毕。3.生成PDS数据集的MEMBERa)有两个画面可以直接生成PDS数据集的MEMBER。一个是(P.2)Edit Entry Panel画面,一个是(P.3.1)Library Utility画面。(除了这两种方法外,你还可以通过COPY、S MEMBER名等方式生成MEMBER,后面会介绍。)两种方式的操作方法基本相同,这里仅介绍后一种方式。b)在主菜单键入P.3.1进入Library Utility画面。如下图所示,填入相关参数,按回车,即
11、进入编辑MEMBER的画面。c)在编辑器中编辑你的MEMBER,然后键入SAVE命令,即生成了一个MEMBER。d)还有一个生成MEMBER的简单方法,即在EDIT数据集画面下,键入S MEMBER名,即可生成新的MEMBER。见下图。4.管理数据集我们通过(P.3.4)进入显示数据集画面,在这个画面中我们可以对数据集做一些诸如RENAME、DELETE、CATALOG、UNCATALOG等操作。我们可以在某个数据集前,比如DEVP203.TEST.JCL,输入/,按回车,系统会响应一个提示画面,告诉你可以对该数据集做些什么操作。见下图。5.PDS数据集的COPY 在P.3.3 Move/Co
12、py Utility画面中,输入源数据集的名字和表示要做COPY的选项C,注意,数据集名字后面加上(*),表示该数据集的所有MEMBER都拷过去;不加的话,系统会给出画面,让你选择拷贝哪些MEMBER。如下图:回车后,进入下一画面。输入目标数据集的名字,如果需要对同名的MEMBER进行覆盖,就选中REPLACE选项,回车,就开始拷贝了。见下图:拷贝完成后,系统给出有多少MEMBER拷贝过去。6.数据集的压缩当你发现数据集的使用率已经很高,接近100%时,就无法再往里加入MEMBER了。这时,只要在该数据集前输入Z(表示要进行压缩处理),回车处理后,即会省出很多空间。7.管理PDS数据集的MEM
13、BER在数据集显示画面中,我们选定一个PDS数据集,用E(EDIT)、B(BROWSE)或V(VIEW)命令都可以进入MEMBER列表画面。在这里,我们可以对某个MEMBER进行诸如COPY、RENAME、DELETE、EDIT等操作。在MEMBER前敲/,再按回车,系统同样会响应一个提示画面,列出相关的操作命令。见下图。8.ISPF/PDF的编辑器EDIT的使用EDIT的命令有行命令和主命令之分,把行命令和主命令结合起来使用,效率会更高。这里,我们仅介绍实际开发工作中常用的编辑命令。A)EDIT的行命令a)I,In:插入一行,n行。b)D,Dn,DD:删除一行,n行,删除两个DD之间的行。c
14、)R,Rn,RR:重复一行,n行,重复两个RR之间的行。d)X,Xn,XX:隐藏一行,n行,隐藏两个XX之间的行。在隐藏处,敲行命令S恢复显示一行;F2恢复显示前两行;L2恢复显示后两行;或用主命令RESET全部恢复。e)M,Mn,MM:搬移一行,n行,搬移两个MM之间的行。f)C,Cn,CC:拷贝一行,n行,拷贝两个CC之间的行。g)A,An,B,Bn:在搬移和拷贝之后,就存在把目标块放在哪的问题。行命令A、B即解决这一问题。A是在所在行后插入,B是在所在行前面插入,用n表示重复n次。h)TS:截断行。在某行前输入TS命令后,在该行某处回车,即将该行分成两行了。B)EDIT的主命令a)PRO
15、FILE 显示控制编辑环境命令,用RESET取消之。b)SAVE、CANCEL 存盘、不存盘。c)FIND xxxx:查找字符串xxxx。按F5继续查找。d)HEX 十六进制显示。HEX OFF取消之。e)CHANGE 字符串替换。例如CHANGE XXX ZZZ ALL:将所有的XXX换成ZZZ。又例 CHANGE XXX ZZZ .K .G ALL:将标号.K和.G之间所有的XXX换成ZZZ。再例如CHANGE XXX ZZZ .K .G SUFFIX ALL将标号.K和.G之间所有以XXX为后缀的单词之XXX换成ZZZ。f)LOCATE .AAA 把行标号为.AAA置于屏幕顶部。g)SO
16、RT 对编辑的文本数据进行排序。h)CREATE 用编辑缓冲区中的数据生成一个MEMBER。C)编辑中MEMBER的读取a)读进整个MEMBER的方法:在目标MEMBER中的指定行处建立标号,如.D,再键入主命令COPY MEM1 AFTER .D 或COPY MEM1 BEFORE .D。这里,MEM1为源MEMBER名。b)读进MEMBER中部分文本的方法:在源MEMBER中,用CC对儿标记要拷贝的对象,用主命令CUT将其放入缓冲区中;然后到目标MEMBER的指定行处输入行命令A或B,再输入主命令PASTE即粘贴过来。第四章 SDSF环境常用命令在SDSF环境中,可以用F12取上次执行的命
17、令。1.SD;ST,是用来显示作业的运行状况。在这里有一些命令(或叫选项)可以用来选择你想显示或处理的作业。A)PREFIX DEVP* 显示作业名以DEVP开头的作业。取消用PRE。B)OWNER DEVP* 显示OWNER名以DEVP开头的作业。取消用OWNER。C)SELECT LIST* 显示作业名以LIST开头的作业。D)SET DISPLAY ON 用来显示当前PREFIX、OWNER等值的设置。SET DISPLAY OFF关掉这一显示。另外,在菜单BAR OPTIONS中的第5项Set display values to OFF也是用于这一目的。E)SORT 用于对显示的作业列
18、表进行排序。比如,SORT JOBNAME 按JOBNAME排序。F)ACTION CHAR 在显示的作业列表中,有一NP列,你可以在这一列中输入ACTION CHAR,对某作业进行处理。常用的有如下几个:P:删除所在行作业。?:显示作业输出结果的分类列表。S:显示作业输出结果的内容。D:显示作业详细信息。/:块定义。一对/用于标记一组作业将要被施以相同的操作。2.SD;INIT 用于显示JES2的各INITIATOR的状态。当有批作业在运行时,可以看到它在哪个INITIATOR上运行。3.SD;LOG 进入系统控制台。在这里可以查看系统LOG,输入MVS系统命令或JES2命令或其它产品的命令
19、,查看系统对命令的响应信息。A)在LOG中查找字符串用FIND命令。如F CHAR01,系统便会定位到第一次出现CHAR01的地方,按F5继续查找下一个。注意:一次搜索的行数可以在菜单BAR的OPTIONS一项中的2. Find limit.设定。输入M后,按F7是到LOG的最开始处;按F8是到最末尾处。B)输入MVS系统命令以/引导。如/D TS,L 显示当前登录系统的TSO用户。这里顺便介绍几个MVS常用命令。D A,L显示活动作业之简略信息。D A,TCPIP 某个活动作业,如TCPIP的详细信息。D IPLINFO 显示IPL信息。D R,L显示全部需应答信息。D PARMLIB看系统
20、所用PARMLIB DATASET。D T 显示本地时间。C U=DEVP002 杀掉用户DEVP002。C)输入JES2命令以/¥引导。如/¥D A,TSU显示处于活动状态的TSO用户。注意,在PCOM中,输入¥要用Ctrl+实现。4.SD;ULOG 在这里的操作方法同SD;LOG。只是这里仅显示该用户自己与系统的交互信息。第五章 TSO命令TSO可在下述的场合下使用:TSO画面,即READY提示符下;ISPF的P.6-ISPF Command Shell画面下;在某些场合下,以TSO为引导,表示要输入TSO命令。TSO的很多命令都可以通过ISPF的交互方式实现,比如有关数据集管理的ALLO
21、CATE,COPY,MERGE等。这里仅介绍一些常用的TSO命令。1.更改自己的口令:PW PASSWORD(OLDPW NEWPW)这里: OLDPW 原口令;NEWPW 新口令。2.PROFILE看自己的TSO环境参数设定。特别地,当你想取消PREFIX设定,可以键入PROFILE NOPREFIX。3.LISTCAT 用来显示CATALOG信息。如:LISTC CAT(CATALOG.SYSADM.ZDVP1)。想看某个DATASET 在哪一个CATALOG中,可以键入LISTC ENT(DEVP203.SPFLOG1.LIST) ALL。特别地,在P.3.4中所列的数据集列表中某一个D
22、ATASET前键入LISTC ENT(/)命令,效果等同。4.LISTDS 用来显示数据集的属性。对于VSAM和NON-VSAM类型的数据集,显示的结果也不尽相同。如:LISTDS DEVP203.SPFLOG1.LIST。5.SUBMIT 向JES2提交作业。如:SUB DEVP203.TEST.JCL(LISTALIA)。6.WHO 、SHOW看当前的用户ID。(这是系统管理员写的小东西)。7.HELP命令, 用来获得TSO相关命令的帮助信息。比如:TSO HELP SUBMIT。8.关于CLIST的简介 命令过程CLIST是一系列TSO命令的集合,是预先安排好的TSO命令、子命令的可执行
23、序列。可以理解为MS-DOS中的批处理命令。CLIST的隐含执行,有三个层次:用户层,应用层和系统层,可用ALTLIB中的子命令在搜索库链中加入或去掉CLIST库。9.DELETE命令 删除数据集。如DELETE DEVP002.TEST.*删除DEVP002.TEST开头的作业。第六章 访问DB2通过SPUFI访问DB2数据库1.准备工作定义一个PDS数据集,作为SPUFI的输入数据集。我们可以在其内生成一些MEMBER,MEMBER的内容是一些SQL语句。以 - - 引导的是注释行。定义一个顺序数据集,作为SPUFI的输出数据集。SQL语句的运行结果,都输出到这里。做SPUFI的配置。进入
24、P.8.D,关键的参数是DB2 NAME一项,在ZDVP上是DSND。2.使用SPUFI访问DB2进入P.8.1,相应地填入你定义的INPUT DATASET NAME和OUTPUT DATASET NAME。注意,在INPUT DATASET的后面跟上MEMBER名,比如:ZDVP095.SPUFI.INPUT(MEM1)。(见下图)按回车进入下一画面。这一画面主要是配置输入输出参数。要注意输出文件的RECORD FORMAT要与你定义的输出文件一致。回车进入下一画面。在这里可以编辑和修改SQL语句。以 - 引导的是注释行。编辑好后,按F3退出,这时,系统会有一个提示框显示。再按回车键,系统
25、即会显示SQL语句的运行结果。实际上,结果已经写进输出数据集中,屏幕显示的是BROWSE输出数据集的结果。第七章 CICS常用系统交易简介CEMT,它是CICS主交易,功能强大。我们常用来查询CICS系统的一些情况。如CEMT I TA,看当前有哪些任务在运行。在开发工作中,我们常用CEMT SET PROGRAM NEWCOPY命令来更新虚存中程序指针,保证用到最新版本。比如,我们重新修改、编译了程序CSO3201,为使最新版本起作用,需做如下操作CEMT S PROG(CSO3201) NEW。XX文库 - 让每个人平等地提升自我CEDC,查询CSD资源的工具。我们可以用它查询CICS的L
26、IST、GROUP和各种RESOURCE。当我们想知道程序CSO3201定义在哪个组里时,可键入如下命令:CEDC EXPAND PROG(CSO3201) GROUP(*)。系统就会响应出该资源及其所在的组名。注意,CEDA、CEDB与CEDC是同一类交易,功能由强到弱排下来。CEBR,查看TS QUEUE和TD QUEUE的内容。如CEBR TSQ00001即打开名字为TSQ00001的TS QUEUE。该交易的子命令不多,可按F1 HELP一下,即可知全貌。删除QUEUE的内容用PURGE命令,读进TD QUEUE用GET TDQ名 命令。在开发工作中,我们常用写TS QUEUE的方式调
27、试程序,但应注意,TS QUEUE的长度是有限制的,当达到这一限制是再也写不进去的,交易会ABEND掉。CECI,可以用来即时运行EXEC CICS语句,检查其语法等。CEDF,它是很好的CICS联机程序的调试工具,可以单步执行EXEC CICS语句。我们在某终端上敲CEDF,回车,系统会响应THIS TERMINAL: EDF MODE ON,表示进入跟踪状态。然后键入交易名称,即进入程序单步运行状态。如果是跟踪另一个终端的运行,则可以CEDF TERID。退出跟踪状态可以输入CEDF ,OFF,系统响应THIS TERMINAL: EDF MODE OFF。CEDF的使用有很多技巧,详细内
28、容参见CICS Application Programming Guide和CICS Supplied Transactions两本书。第八章 应用程序的编辑、编译和运行1.应用程序的编辑应用程序的编辑方法参见“ISPF/PDF的编辑器EDIT的使用”一节,这里不再赘述。2.应用程序的编译过程从不同的角度,我们可以将应用程序分为联机程序或是批量程序,访问DB2的或不访问DB2的。这里,我们以最为复杂的访问DB2的联机程序为例子来简述编译过程。这类程序的编译过程,可分成如下几个步骤。1)DB2的预编译。这一步主要完成这样一些工作:查找并扩充DB2相关的INCLUDE成员;将所有SQL语句从程序中
29、抽取出来,并放进一个数据库请求模块DBRM中;创建一个对DB2运行接口模块的调用CALL,它用可用参数来代替原有的SQL语句;在修改后的源程序和DBRM中放入一个时间戳来确保这些项的正确使用。2)CICS的预编译。这一步是将EXEC CICS语句翻译成C编译程序能够识别的语句,语言解释器将EXEC CICS语句翻译成合乎C语言语法的CALL语句,CALL语句会激活CICS提供的EXEC接口模块,该模块在晚些时候做链接时,会连进LOAD MODULE中来。3)进行C编译。将经过前两步处理过的新生成的程序代码送给C编译器进行编译。4)进行预链接。这一步是将语言环境LE和用户自己定义的函数链接进来,
30、为下一步LINKEDIT做准备。5)做LINKEDIT。这一步链接有关DB2、CICS等环境的模块,并生成LOAD MODULE,即可执行模块。6)做BIND。BIND完成如下功能:读入DBRM模块中的SQL语句,并检查语法;检查要访问的DB2表及其列是否与它们在DB2的CATALOG中一致;进行权限检查和确认;优化SQL语句,使它们有高效的存取路径。有两种BIND命令,BIND PACKAGE和BIND PLAN,我们用的编译程序CCO或CCB是用的BIND PACKAGE方式。晚些时候,DB2系统管理员会将这些PACKAGE绑定到某个PLAN中,以为应用程序所用。3.应用程序的运行联机程序和批量程序的运行方式是不一样的。1)联机程序的运行。CICS的联机程序极其所使用的相关资源必须在CICS中加以定义,成为CICS的合法资源后,才能够被调用执行。同时,如果程序要访问DB2,CICS还要做有关DB2的定义。2)批量程序的运行则比较简单,一般以作业的方式运行。下面是一个要访问数据库的批量程序运行的例子。/JOB001 JOB (TEST),D
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1