ibm主机操作系统使用入门.docx
《ibm主机操作系统使用入门.docx》由会员分享,可在线阅读,更多相关《ibm主机操作系统使用入门.docx(19页珍藏版)》请在冰豆网上搜索。
![ibm主机操作系统使用入门.docx](https://file1.bdocx.com/fileroot1/2023-1/5/34db5e61-8187-4a1b-9ba4-5e9987f670c6/34db5e61-8187-4a1b-9ba4-5e9987f670c61.gif)
ibm主机操作系统使用入门
zos基本命令使用指南
前言----------------------------------------------------------------2
第一章ISPF/PDF、SDSF、TSO和JES2简介-----------3
第二章菜单使用方法-----------------------------------------4
第三章ISPF/PDF环境常用命令----------------------------6
第四章SDSF环境常用命令---------------------------------17
第五章TSO命令-----------------------------------------------19
第六章访问DB2-----------------------------------------------21
第七章CICS常用系统交易----------------------------------23
第八章应用程序的编辑、编译和运行--------------------24
第九章其它知识-----------------------------------------------27
第十章常用参考书目------------------------------------28
前言
为满足我行数据大集中战略的需要,我行有许多应用开发人员要转而在主机平台上做应用开发工作。
虽然他们十分精通开放平台的相关技术,但对主机平台的有关知识却知之甚少。
为了使这部分技术人员能尽快地熟悉主机环境、上手工作,我们特别编写了这本小册子,主要介绍在主机平台上有关应用开发的入门知识。
希望能给大家带来些许帮助。
这里要说明一点,这本小册子介绍的知识都是基于ZDVP环境。
其实,其它环境也仅仅是菜单画面、对象名称不同而已。
第一章ISPF/PDF、SDSF、TSO和JES2简介
ISPF/PDF(InteractiveSystemProductivityFacility/ProgramDevelopmentFacility)是一个具有菜单驱动和交互式界面的功能强大的主机平台上的产品,通过使用它,我们可以完成很多工作,比如,建立、测试JCL,编辑、编译和调试应用程序,管理数据集,访问DB2等等。
SDSF(SystemDisplayandSearchFacility)是另一个常用的工具软件。
它可以向用户提供大量的信息以协助用户监测、管理以及控制MVS/JES2系统。
利用SDSF,用户可以完成如下工作:
控制作业处理进程(保留,释放,取消与清除作业),对正在运行的作业进行监测,无需打印可浏览作业,控制作业级别,控制打印机、Punches、Readers与Initiators,控制网络的连线与节点,控制SPOOL的下载设备,显示并控制WLM安排的系统环境与资源以及执行针对作业的JES2和MVS命令。
ISPF和SDSF都是运行在TSO(TimeSharingOption)之上的,而我们可以将TSO看成是Z/OS操作系统的一个组成部分。
先由系统管理员为我们建立USERID和初始PASSWORD,使我们成为TSO的合法用户,然后,我们通过登录TSO,来使用ISPF和SDSF等产品工具。
注意,第一次登录时,系统强制我们更改PASSWORD。
而JES2(JobEntrySubsystem2)也可看成是Z/OS操作系统的一个组成部件,它负责作业的调度、控制、和管理。
JES2处理作业可分为六个阶段。
1.接收用户提交的作业到系统输入队列中。
2.通过转换程序对用户作业进行语法分析和格式转换。
将作业控制语言的JCL语句转换成系统能读懂的内部形式,同时也进行一些其它的校验。
如发现错误,则将该作业从系统中清除并向用户发出相应的信息。
3.将作业送到系统中执行。
这时JES放弃对作业的控制权。
4.输出阶段。
包括一些有关该作业的系统信息的输出。
输出结果一般分作好几段,存放在SPOOL假脱机磁盘空间中。
5.打印阶段。
此时,作业状态为PRINT。
6.清除阶段。
JES2释放分配给作业的资源,以待分配给其它作业。
JES会对作业的优先权进行动态调整,作业等待运行的时间越长,系统将它的优先权提升的越高。
第二章菜单使用方法
1.登录和退出系统
✓登录TSO:
在初始画面(VTAM的登录画面)下,键入TSOUSERID,按回车键进入TSOLOGON画面;输入口令后回车便进入MASTERAPPLICATIONMENU,就可以使用系统了。
注意:
这里的回车键是指IBM3270键盘的ENTER键(以后我们就称谓其为回车键)。
对应到PC机上,一般是右CTRL键,而PC的ENTER键则对应3270键盘的NEWLINE键。
✓退出TSO:
在任意地方,按F3一路退下去,直到SpecifyDispositionofLogDataSet画面,一般选择2,回车,然后键入LOGOFF退到初始画面。
✓登录CICS:
在初始画面下,键入LOGONAPPLID(DVPCICS1),回车进入SignontoCICS画面;依次键入USERID和PASSWORD,回车就可登录到DVPCICS1了。
注意:
用LOGONAPPLID(TSO)也可登录到TSO里面去。
✓退出CICS:
在清屏状态下,键入CESFLOGOFF,回车。
2.熟悉MASTERAPPLICATIONMENU菜单操作
✓快捷路径:
P.3.4(或P;3;4)--直接到DataSetListUtility画面;SD.ST--直接到Statusofjobs画面
✓分屏:
键入START命令或按F2键即生成一个新的交互画面。
用F9或SWAPn(n为画面序号)在几个画面之间切换。
✓快速换屏:
在ISPF/PDF中,无论你在哪个画面,你都可以在OPTION或COMMAND后,输入=3.4,便进入DataSetListUtility画面。
以次类推。
注意:
若直接键入=X,就会退出ISPF/PDF。
✓异常中断:
当你想中断某种操作,可做如下尝试:
点击鼠标右键,系统响应一弹出菜单,选中键盘1,再点击PA1。
第三章ISPF/PDF环境常用命令
这里,我们仅介绍在程序开发过程中常用到的,与DATASET或MEMBER等对象相关的操作方法。
这里应该先说明一下,ZDVP系统是实施了SMS的,就是说,很多存储方面的管理工作是交给系统完成的,这也为我们省去了很多麻烦。
1.显示数据集(P.3.4)我们在主菜单下,键入P.3.4即进入DataSetListUtility画面。
假设我们想显示以ZDEVP203开头的DATASET,可在DsnameLevel处填上DEVP203*.**。
如下图所示。
再按回车键,即得到需要的数据集列表。
(如下图所示)
2.生成数据集(P.3.2)我们在主菜单下,键入P.3.2即进入DataSetUtility画面。
在这里,我们可以对数据集进行生成、改名、删除、CATALOG、UNCATALOG等操作。
假设我们要建立一个名为DEVP203.TEST.JCL的分区数据集,我们该如何做呢?
a)这里有个技巧。
我们可以先显示一个数据集,这个数据集与我们将要定义的数据集具有相同的属性,这样,系统就会把相关属性参数传到我们定义数据集所用到的画面中,我们就可以在这个基础上,做一定的修改,最后得到我们想要的属性参数,来生成数据集。
b)如图,我们在DataSetName处填‘DEVP203.TEST.JCL’,在Option处填A。
按回车。
c)系统响应Datasetallocated表示数据集定义完毕。
3.生成PDS数据集的MEMBER
a)有两个画面可以直接生成PDS数据集的MEMBER。
一个是(P.2)EditEntryPanel画面,一个是(P.3.1)LibraryUtility画面。
(除了这两种方法外,你还可以通过COPY、SMEMBER名等方式生成MEMBER,后面会介绍。
)两种方式的操作方法基本相同,这里仅介绍后一种方式。
b)在主菜单键入P.3.1进入LibraryUtility画面。
如下图所示,填入相关参数,按回车,即进入编辑MEMBER的画面。
c)在编辑器中编辑你的MEMBER,然后键入SAVE命令,即生成了一个MEMBER。
d)还有一个生成MEMBER的简单方法,即在EDIT数据集画面下,键入SMEMBER名,即可生成新的MEMBER。
见下图。
4.管理数据集
我们通过(P.3.4)进入显示数据集画面,在这个画面中我们可以对数据集做一些诸如RENAME、DELETE、CATALOG、UNCATALOG等操作。
我们可以在某个数据集前,比如DEVP203.TEST.JCL,输入/,按回车,系统会响应一个提示画面,告诉你可以对该数据集做些什么操作。
见下图。
5.PDS数据集的COPY
在P.3.3Move/CopyUtility画面中,输入源数据集的名字和表示要做COPY的选项C,注意,数据集名字后面加上(*),表示该数据集的所有MEMBER都拷过去;不加的话,系统会给出画面,让你选择拷贝哪些MEMBER。
如下图:
回车后,进入下一画面。
输入目标数据集的名字,如果需要对同名的MEMBER进行覆盖,就选中REPLACE选项,回车,就开始拷贝了。
见下图:
拷贝完成后,系统给出有多少MEMBER拷贝过去。
6.数据集的压缩
当你发现数据集的使用率已经很高,接近100%时,就无法再往里加入MEMBER了。
这时,只要在该数据集前输入Z(表示要进行压缩处理),回车处理后,即会省出很多空间。
7.管理PDS数据集的MEMBER
在数据集显示画面中,我们选定一个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)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)PROFILE显示控制编辑环境命令,用RESET取消之。
b)SAVE、CANCEL存盘、不存盘。
c)FINDxxxx:
查找字符串xxxx。
按F5继续查找。
d)HEX十六进制显示。
HEXOFF取消之。
e)CHANGE字符串替换。
例如CHANGEXXXZZZALL:
将所有的XXX换成ZZZ。
又例CHANGEXXXZZZ.K.GALL:
将标号.K和.G之间所有的XXX换成ZZZ。
再例如CHANGEXXXZZZ.K.GSUFFIXALL将标号.K和.G之间所有以XXX为后缀的单词之XXX换成ZZZ。
f)LOCATE.AAA把行标号为.AAA置于屏幕顶部。
g)SORT对编辑的文本数据进行排序。
h)CREATE用编辑缓冲区中的数据生成一个MEMBER。
C)编辑中MEMBER的读取
a)读进整个MEMBER的方法:
在目标MEMBER中的指定行处建立标号,如.D,再键入主命令COPYMEM1AFTER.D或COPYMEM1BEFORE.D。
这里,MEM1为源MEMBER名。
b)读进MEMBER中部分文本的方法:
在源MEMBER中,用CC对儿标记要拷贝的对象,用主命令CUT将其放入缓冲区中;然后到目标MEMBER的指定行处输入行命令A或B,再输入主命令PASTE即粘贴过来。
第四章SDSF环境常用命令
在SDSF环境中,可以用F12取上次执行的命令。
1.SD;ST,是用来显示作业的运行状况。
在这里有一些命令(或叫选项)可以用来选择你想显示或处理的作业。
A)PREFIXDEVP*显示作业名以DEVP开头的作业。
取消用PRE。
B)OWNERDEVP*显示OWNER名以DEVP开头的作业。
取消用OWNER。
C)SELECTLIST*显示作业名以LIST开头的作业。
D)SETDISPLAYON用来显示当前PREFIX、OWNER等值的设置。
SETDISPLAYOFF关掉这一显示。
另外,在菜单BAROPTIONS中的第5项SetdisplayvaluestoOFF也是用于这一目的。
E)SORT用于对显示的作业列表进行排序。
比如,SORTJOBNAME按JOBNAME排序。
F)ACTIONCHAR在显示的作业列表中,有一NP列,你可以在这一列中输入ACTIONCHAR,对某作业进行处理。
常用的有如下几个:
P:
删除所在行作业。
?
:
显示作业输出结果的分类列表。
S:
显示作业输出结果的内容。
D:
显示作业详细信息。
//:
块定义。
一对//用于标记一组作业将要被施以相同的操作。
2.SD;INIT用于显示JES2的各INITIATOR的状态。
当有批作业在运行时,可以看到它在哪个INITIATOR上运行。
3.SD;LOG进入系统控制台。
在这里可以查看系统LOG,输入MVS系统命令或JES2命令或其它产品的命令,查看系统对命令的响应信息。
A)在LOG中查找字符串用FIND命令。
如FCHAR01,系统便会定位到第一次出现CHAR01的地方,按F5继续查找下一个。
注意:
✓一次搜索的行数可以在菜单BAR的OPTIONS一项中的2.Findlimit...设定。
✓输入M后,按F7是到LOG的最开始处;按F8是到最末尾处。
B)输入MVS系统命令以/引导。
如/DTS,L显示当前登录系统的TSO用户。
这里顺便介绍几个MVS常用命令。
✓DA,L显示活动作业之简略信息。
✓DA,TCPIP某个活动作业,如TCPIP的详细信息。
✓DIPLINFO显示IPL信息。
✓DR,L显示全部需应答信息。
✓DPARMLIB看系统所用PARMLIBDATASET。
✓DT显示本地时间。
✓CU=DEVP002杀掉用户DEVP002。
C)输入JES2命令以/¥引导。
如/¥DA,TSU显示处于活动状态的TSO用户。
注意,在PCOM中,输入¥要用Ctrl+\实现。
4.SD;ULOG在这里的操作方法同SD;LOG。
只是这里仅显示该用户自己与系统的交互信息。
第五章TSO命令
TSO可在下述的场合下使用:
●TSO画面,即READY提示符下;
●ISPF的P.6---ISPFCommandShell画面下;
●在某些场合下,以TSO为引导,表示要输入TSO命令。
TSO的很多命令都可以通过ISPF的交互方式实现,比如有关数据集管理的ALLOCATE,COPY,MERGE等。
这里仅介绍一些常用的TSO命令。
1.更改自己的口令:
PWPASSWORD(OLDPWNEWPW)
这里:
OLDPW——原口令;
NEWPW——新口令。
2.PROFILE看自己的TSO环境参数设定。
特别地,当你想取消PREFIX设定,可以键入PROFILENOPREFIX。
3.LISTCAT用来显示CATALOG信息。
如:
LISTCCAT('CATALOG.SYSADM.ZDVP1')。
想看某个DATASET在哪一个CATALOG中,可以键入LISTCENT('DEVP203.SPFLOG1.LIST')ALL。
特别地,在P.3.4中所列的数据集列表中某一个DATASET前键入LISTCENT(/)命令,效果等同。
4.LISTDS用来显示数据集的属性。
对于VSAM和NON-VSAM类型的数据集,显示的结果也不尽相同。
如:
LISTDS'DEVP203.SPFLOG1.LIST'。
5.SUBMIT向JES2提交作业。
如:
SUB'DEVP203.TEST.JCL(LISTALIA)'。
6.WHO、SHOW看当前的用户ID。
(这是系统管理员写的小东西)。
7.HELP命令,用来获得TSO相关命令的帮助信息。
比如:
TSOHELPSUBMIT。
8.关于CLIST的简介命令过程CLIST是一系列TSO命令的集合,是预先安排好的TSO命令、子命令的可执行序列。
可以理解为MS-DOS中的批处理命令。
CLIST的隐含执行,有三个层次:
用户层,应用层和系统层,可用ALTLIB中的子命令在搜索库链中加入或去掉CLIST库。
9.DELETE命令删除数据集。
如DELETEDEVP002.TEST.*删除DEVP002.TEST开头的作业。
第六章访问DB2
通过SPUFI访问DB2数据库
1.准备工作
✓定义一个PDS数据集,作为SPUFI的输入数据集。
我们可以在其内生成一些MEMBER,MEMBER的内容是一些SQL语句。
以--引导的是注释行。
✓定义一个顺序数据集,作为SPUFI的输出数据集。
SQL语句的运行结果,都输出到这里。
✓做SPUFI的配置。
进入P.8.D,关键的参数是DB2NAME一项,在ZDVP上是DSND。
2.使用SPUFI访问DB2
✓进入P.8.1,相应地填入你定义的INPUTDATASETNAME和OUTPUTDATASETNAME。
注意,在INPUTDATASET的后面跟上MEMBER名,比如:
ZDVP095.SPUFI.INPUT(MEM1)。
(见下图)
按回车进入下一画面。
✓这一画面主要是配置输入输出参数。
要注意输出文件的RECORDFORMAT要与你定义的输出文件一致。
回车进入下一画面。
✓在这里可以编辑和修改SQL语句。
以--引导的是注释行。
编辑好后,按F3退出,这时,系统会有一个提示框显示。
✓再按回车键,系统即会显示SQL语句的运行结果。
实际上,结果已经写进输出数据集中,屏幕显示的是BROWSE输出数据集的结果。
第七章CICS常用系统交易简介
CEMT,它是CICS主交易,功能强大。
我们常用来查询CICS系统的一些情况。
如CEMTITA,看当前有哪些任务在运行。
在开发工作中,我们常用CEMTSETPROGRAMNEWCOPY命令来更新虚存中程序指针,保证用到最新版本。
比如,我们重新修改、编译了程序CSO3201,为使最新版本起作用,需做如下操作CEMTSPROG(CSO3201)NEW。
XX文库-让每个人平等地提升自我CEDC,查询CSD资源的工具。
我们可以用它查询CICS的LIST、GROUP和各种RESOURCE。
当我们想知道程序CSO3201定义在哪个组里时,可键入如下命令:
CEDCEXPANDPROG(CSO3201)GROUP(*)。
系统就会响应出该资源及其所在的组名。
注意,CEDA、CEDB与CEDC是同一类交易,功能由强到弱排下来。
CEBR,查看TSQUEUE和TDQUEUE的内容。
如CEBRTSQ00001即打开名字为TSQ00001的TSQUEUE。
该交易的子命令不多,可按F1HELP一下,即可知全貌。
删除QUEUE的内容用PURGE命令,读进TDQUEUE用GETTDQ名命令。
在开发工作中,我们常用写TSQUEUE的方式调试程序,但应注意,TSQUEUE的长度是有限制的,当达到这一限制是再也写不进去的,交易会ABEND掉。
CECI,可以用来即时运行EXECCICS语句,检查其语法等。
CEDF,它是很好的CICS联机程序的调试工具,可以单步执行EXECCICS语句。
我们在某终端上敲CEDF,回车,系统会响应THISTERMINAL:
EDFMODEON,表示进入跟踪状态。
然后键入交易名称,即进入程序单步运行状态。
如果是跟踪另一个终端的运行,则可以CEDFTERID。
退出跟踪状态可以输入CEDF,OFF,系统响应THISTERMINAL:
EDFMODEOFF。
CEDF的使用有很多技巧,详细内容参见《CICSApplicationProgrammingGuide》和《CICSSuppliedTransactions》两本书。
第八章应用程序的编辑、编译和运行
1.应用程序的编辑
应用程序的编辑方法参见“ISPF/PDF的编辑器EDIT的使用”一节,这里不再赘述。
2.应用程序的编译过程
从不同的角度,我们可以将应用程序分为联机程序或是批量程序,访问DB2的或不访问DB2的。
这里,我们以最为复杂的访问DB2的联机程序为例子来简述编译过程。
这类程序的编译过程,可分成如下几个步骤。
1)DB2的预编译。
这一步主要完成这样一些工作:
查找并扩充DB2相关的INCLUDE成员;将所有SQL语句从程序中抽取出来,并放进一个数据库请求模块DBRM中;创建一个对DB2运行接口模块的调用CALL,它用可用参数来代替原有的SQL语句;在修改后的源程序和DBRM中放入一个时间戳来确保这些项的正确使用。
2)CICS的预编译。
这一步是将EXECCICS语句翻译成C编译程序能够识别的语句,语言解释器将EXECCICS语句翻译成合乎C语言语法的CALL语句,CALL语句会激活CICS提供的EXEC接口模块,该模块在晚些时候做链接时,会连进LOADMODULE中来。
3)进行C编译。
将经过前两步处理过的新生成的程序代码送给C编译器进行编译。
4)进行预链接。
这一步是将语言环境LE和用户自己定义的函数链接进来,为下一步LINKEDIT做准备。
5)做LINKEDIT。
这一步链接有关DB2、CICS等环境的模块,并生成LOADMODULE,即可执行模块。
6)做BIND。
BIND完成如下功能:
读入DBRM模块中的SQL语句,并检查语法;检查要访问的DB2表及其列是否与它们在DB2的CATALOG中一致;进行权限检查和确认;优化SQL语句,使它们有高效的存取路径。
有两种BIND命令,BINDPACKAGE和BINDPLAN,我们用的编译程序CCO或CCB是用的BINDPACKAGE方式。
晚些时候,DB2系统管理员会将这些PACKAGE绑定到某个PLAN中,以为应用程序所用。
3.应用程序的运行
联机程序和批量程序的运行方式是不一样的。
1)联机程序的运行。
CICS的联机程序极其所使用的相关资源必须在CICS中加以定义,成为CICS的合法资源后,才能够被调用执行。
同时,如果程序要访问DB2,CICS还要做有关DB2的定义。
2)批量程序的运行则比较简单,一般以作业的方式运行。
下面是一个要访问数据库的批量程序运行的例子。
//JOB001JOB(TEST),’D