描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121305474
第1章 TSO、ISPF、ISPF/PDF介绍 2
1.1 什么是TSO(Time Sharing Option) 2
1.2 TSO终端 3
1.3 TSO使用环境(与MVS/OS390/ZOS,ISPF之间的关系) 3
1.4 RMF概述 4
1.5 ISPF和ISPF/PDF概述 4
1.5.1 程序开发设备(PDF) 4
1.5.2 ISPF/PDF显示板的通用结构 5
1.6 ISPF设定功能——选项0 7
1.7 z/OS数据集介绍 8
1.7.1 顺序数据集 8
1.7.2 分区数据集 8
1.7.3 VSAM数据集类型 9
1.7.4 磁盘目录表(VTOC) 10
1.7.5 数据集命名规则 10
1.7.5.1 分区数据集命名规则 10
1.7.5.2 数据集命名惯例 10
1.8 查看数据集——选项1 11
1.9 编辑数据集——选项2 14
1.9.1 常用的行命令 15
1.9.2 常用的行命令(COMMAND)
的例子 16
1.9.3 基本命令及例子 20
1.9.3.1 FIND/F——检索字符,
功能键PF5/17=重新查找
(REFIND) 20
1.9.3.2 CHANGE/C——改变指定
字符串数据的内容 21
1.9.3.3 EXCLUDE/X——不显示与
检索条件一致的行 22
1.9.3.4 COPY/MOVE——从其他
文件复制和移动数据到
正在编辑的文件 24
1.9.3.5 CUT/PASTE——剪切
(CUT)和粘贴(PASTE)
数据 24
1.9.3.6 CREATE/REPLACE——数据
文件的建立和替换 26
1.9.3.7 RESET——重置(RESET)
编辑界面中的各种
数据显示 29
1.9.3.8 HEX——十六进制数显示 30
1.9.3.9 SORT——数据排序 33
1.9.3.10 SUBMIT——使用TSO SUBMIT命令执行JOB 34
1.9.3.11 EDIT——编辑其他的
数据文件 34
1.9.3.12 START——建立新的会话 36
1.9.3.13 终止编辑会话 39
1.9.3.14 附加的基本命令 39
1.9.4 TSO编辑配置文件(PROFILE)
的控制和显示 39
1.10 系统例程功能——选项3 41
1.10.1 库维护选项(3.1) 42
1.10.1.1 BLANK——显示分区
数据集中的成员清单 43
1.10.1.2 C——压缩数据集 47
1.10.1.3 E——编辑数据集成员 49
1.10.1.4 V——查看数据集成员
内容 50
1.10.1.5 R——为数据集成员改名 50
1.10.1.6 D——删除数据集成员 52
1.10.1.7 P——打印数据集成员
内容 52
1.10.1.8 X——打印数据集索引 54
1.10.1.9 L——打印整个数据集 54
1.10.1.10 I——显示数据集信息 56
1.10.1.11 S——显示数据集简要
信息 57
1.10.2 数据集例程选项(3.2) 57
1.10.2.1 分配新数据集 58
1.10.2.2 为数据集改名 59
1.10.2.3 删除数据集 61
1.10.2.4 将未登目数据集登目(Catalog) 61
1.10.2.5 将数据集从目录中移除(Uncatalog) 63
1.10.2.6 显示数据集简短信息 63
1.10.2.7 VSAM例程 64
1.10.3 数据集移动和复制选项(3.3) 65
1.10.4 数据集清单列表选项(3.4) 69
1.10.4.1 数据集成员显示、打印
和操作 69
1.10.4.2 VTOC信息的显示和
打印 73
1.10.5 重置(RESET)统计信息选项(3.5) 74
1.10.6 数据集打印选项(3.6) 75
1.10.7 作业输出清单选项(3.8) 76
1.10.8 TSO命令选项(3.9) 77
1.10.9 显示格式设定选项(3.11) 77
1.10.10 数据集比较选项标准版(3.12)
和扩展版(3.13) 78
1.10.11 字符串检索选项标准版(3.14)
和扩展版(3.15) 79
1.11 TSO命令 80
1.11.1 离开ISPF/PDF 80
1.11.2 输入TSO命令 81
1.11.2.1 ISPF/PDF选项6——
TSO COMMAND 81
1.11.2.2 使用TSO前缀 82
1.11.3 TSO HELP 82
1.11.4 LISTCAT命令 83
1.11.5 LISTDS命令 85
1.11.6 LISTALC命令 86
1.11.7 DELETE命令 87
1.11.8 RENAME命令 87
第2章 作业控制语言(Job Control
Language——JCL) 89
2.1 作业控制语言JCL的基本结构 89
2.2 JOB语句 92
2.2.1 JOB语句中的位置参数 93
2.2.1.1 账户信息 93
2.2.1.2 程序员名 93
2.2.2 JOB语句中的关键字参数 93
2.2.2.1 MSGLEVEL 94
2.2.2.2 MSGCLASS 94
2.2.2.3 COND 95
2.2.2.4 ADDRSPC 96
2.2.2.5 CLASS 96
2.2.2.6 NOTIFY 97
2.2.2.7 PRTY 97
2.2.2.8 REGION 97
2.2.2.9 TIME 97
2.2.2.10 TYPRUN 98
2.2.2.11 USER参数 98
2.2.2.12 PASSWORD 99
2.2.2.13 多个关键字参数
一起使用 99
2.3 EXEC语句 99
2.3.1 EXEC语句的位置参数 100
2.3.1.1 PGM=位置参数 100
2.3.1.2 PROC=位置参数 101
2.3.1.3 省略PROC=关键字 101
2.3.2 关键字参数 101
2.3.2.1 PARM参数 102
2.3.2.2 COND参数 102
2.3.2.3 程序库 104
2.4 DD语句 106
2.4.1 DD语句参数 107
2.4.2 DD语句的位置参数 108
2.4.2.1 流内数据 108
2.4.2.2 哑(Dummy)数据集 109
2.4.3 DD语句的关键字参数 110
2.4.3.1 DSN 110
2.4.3.2 DISP 111
2.4.3.3 UNIT 112
2.4.3.4 VOLUME 112
2.4.3.5 SPACE 112
2.4.3.6 LABEL 112
2.4.3.7 DCB 113
2.4.3.8 SYSOUT 113
2.4.3.9 数据集串联
(Concatenation) 113
2.4.3.10 存储管理子系统
(SMS) 114
2.5 向后引用(Backward Reference) 114
2.6 条件JCL 117
2.7 INCLUDE 组 122
2.8 从JCL向PROGRAM传递参数 123
2.9 JOB 提交 124
2.10 JES2——作业处理步骤 124
2.11 JES3——作业处理步骤 125
2.12 系统显示和查询功能(SDSF) 125
2.12.1 输出队列的显示及操作 126
2.12.2 挂起队列的显示及操作 129
2.12.3 显示活动的作业清单及操作 130
2.12.4 显示所有作业清单及操作 131
2.12.5 输入队列清单及其操作 132
2.12.6 初始器(INIT)的显示及操作 132
2.12.7 系统日志(LOG) 134
2.12.8 用户日志(ULOG) 136
2.13 系统例程(Utility)及常用工具 136
2.13.1 选择需要的例程 137
2.13.2 例程使用的ddname 138
2.13.3 例程控制语句 138
2.13.4 复制和打印顺序数据集 139
2.13.5 编辑顺序数据集 140
2.13.6 转换顺序数据集为分区数据集
的成员 142
2.13.7 转换顺序数据集到分区数据集
——增加新成员 143
2.13.8 IEBCOPY复制分区数据集或
分区数据集成员 144
2.13.9 分区数据集的压缩 145
2.13.10 维护源程序库 146
2.13.11 打印分区数据集(PDS)
目录清单 148
2.13.12 IEBCOMPR比较分区数据集 149
2.13.13 比较顺序数据集 150
2.13.14 比较分区数据集中的成员 150
2.13.15 IEFBR14顺序文件的建立
和删除 151
2.13.16 文件的成批复制和重命名 152
2.13.17 分类 153
2.13.17.1 数据集的排序 153
2.13.17.2 数据集的合并 155
2.13.17.3 数据集的复制 156
2.13.17.4 数据集记录的筛选——
包含满足条件的记录 156
2.13.17.5 数据集记录的筛选——
生成头记录 158
2.13.17.6 数据集记录的筛选——
跳过第1条记录 158
2.13.17.7 交易合计 159
2.13.17.8 将输入文件分成
两个文件 159
2.14 JCL过程的定义 160
2.15 JCL过程的调用 161
2.16 过程调用中COND参数的使用 162
2.17 JCL符号参数 162
2.18 JCL过程的测试 164
2.19 过程定义和调用的例子 164
2.19.1 定义和调用流内过程 164
2.19.2 调用定义在系统过程库中的过程 165
2.19.3 调用定义在系统过程库中的
过程并覆盖原过程中的参数 165
2.19.4 调用私有过程库中的过程并
覆盖原过程中的某些参数 166
2.20 作业运行清单(JOB LOG)的
阅读和查错 169
2.21 JCL过程参数置换和RESTART
语句 171
第3章 VSAM文件处理 175
3.1 概念和设备 175
3.1.1 KSDS组成部分 175
3.1.2 ESDS组成部分 176
3.1.3 RRDS组成部分 177
3.1.4 控制间隔(CI) 177
3.1.5 控制区域(CA) 178
3.1.6 跨越记录(Spanned) 178
3.1.7 KSDS文件的物理实现 179
3.1.8 VSAM文件共享选项(SHARE OPTIONS) 180
3.1.8.1 跨区域(Cross-Region)
选项 181
3.1.8.2 跨系统(Cross-System)
选项 181
3.1.9 VSAM目录(VSAM Catalogs) 182
3.1.9.1 主目录 183
3.1.9.2 用户目录 183
3.1.9.3 VSAM数据空间 183
3.1.9.4 VSAM族 183
3.1.9.5 非VSAM数据集
(Non-VSAM Datasets) 184
3.2 存取方式服务设施(Access Method Services) 184
3.2.1 语句的语法 184
3.2.2 定义用户目录 185
3.2.3 定义数据空间 186
3.2.4 定义别名 187
3.2.5 定义VSAM文件 188
3.2.6 装载记录到VSAM文件中 192
3.2.6.1 使用REPRO备份文件 194
3.2.6.2 从备份文件中恢复数据 194
3.2.7 建立VSAM文件的可移植备份 195
3.2.8 恢复VSAM文件的可移植备份 195
3.2.9 维护可移植备份的次索引 197
3.2.10 备份和恢复目录 197
3.2.11 删除VSAM和非VSAM目标 198
3.2.12 显示目录清单 199
3.2.13 打印或显示数据集内容 200
3.2.14 修改文件属性 201
3.2.15 辅助(次)索引 202
3.2.16 核实VSAM数据集 206
3.3 世代数据集GDG 206
3.3.1 GDG的定义及建立 207
3.3.2 GDG文件的应用 209
第4章 常用的MVS主控台命令 211
4.1 JES2命令 211
4.1.1 $D JOB显示特定作业(JOB)
的信息 211
4.1.1.1 显示作业的输出信息 212
4.1.1.2 显示使用缓冲区(SPOOL1)
超过1%的作业信息 212
4.1.1.3 $D STC查看已启动任务
的作业号和状态 212
4.1.1.4 显示系统中的TSU用户
及其作业号 212
4.1.2 $D SPOOL显示缓冲区(Spool)
的状态 213
显4
再版序
自从《IBM主机技术一本通》出版发行以来,受到了广大读者的热爱,本书为他们从事IBM主机方面的工作提供了很大的帮助。同时,随着互联网技术的应用系统越来越多,对IBM主机的技术也提出了一些新的要求。为了满足读者对IBM主机技术更高层次的要求,同时经过几年从事核心银行系统建设积累的丰富经验,为此,借本次修订版的机会,把读者迫切需要的一些新技术汇集起来,一并出版,以解读者之需。
本次修订版依然秉承本书一直以来的风格,只讲读者急需的、工作中经常需要用到的内容,绝不受陈旧的技术框框所限,使读者能在短的时间内,获取尽可能多的有用信息。换句话说,本书提供的全部都是实实在在、在日常工作中经常需要用到的干货!
本次修订版修改或新加的内容主要有下面几部分。
1.18章“DB2性能调优的理论及实践”,对原有的章节做了补充。
? 通过西南某大型银行4年建设实践,为核心银行系统DB2性能调优积累了丰富的经验。在这一章,我们对DB2使用过程中,由于使用不当带来的性能问题,有切身之痛。通过不断的探索和分析,对于项目中出现的DB2性能瓶颈问题,给出了卓有成效的解决方案。
? 对于每个典型问题,有现象分析、可能原因评估、详细解决方案和解决方案效果评估。其中,典型的一个问题是,DB2作业的执行时间由原来需要十几个小时,终减少到只需要几分钟。
2.23章“CICS数据处理”,对原有章节做了补充。
? 这一章增加的部分是“VSAM次索引浏览”的案例分析,是应深圳某商业银行对员工培训的需要,特别增加的部分,对于经常使用VSAM次索引的读者会有很大的帮助。
3.27章“COBOL函数及编译选项”,全新的一章。
? 这一章增加的内容主要有COBOL常用函数的类型、功能和用法等。对于银行核心系统中经常使用的函数,做了详细的介绍,同时,提供了很多程序例子,供读者参考。
? 这一章同时也增加了IBM企业级COBOL编译选项的介绍。为COBOL每一种编译选项的含义、彼此之间的差异,做了详细的说明。同一个程序,在不同的环境下,使用不同的编译选项,所产生的结果可能大相径庭,产生意想不到的结果,常常令有多年工作经验的老手都不知所措。相信本章的推出,将为读者解决类似的困惑提供有力的支持。
4.28章“CICS交易Dump分析及查错”,全新的一章。
? 本章将以往只属于专家级、高大上的CICS Dump分析,回归到“人民怀抱”,让“屌丝级”的普通程序员也能轻松看懂CICS Dump,找出交易出错的原因,并提供解决方案。
? 本章通过介绍结构化的CICS Dump分析方法,让读者顺藤摸瓜,一步一步接近问题的真相,从而找到解决的方法。
? 本章将密密麻麻、杂乱无章的Dump文档,通过切片、分块的方法,将每个部分变成一个个的“小精灵”,让它们带着我们找到需要的信息,直通问题的关键,使得问题的解决变得轻松愉快。
? 本章提供了几个真实的例子,一步一步引导读者,从CICS Dump中找到ASRA、ASRD和AICA等常见交易Abend的原因,提供有效的解决方案。
5.29章“CICS通道容器(Channel Container),全新的一章。
? 这一章完全是为了满足现今如火如荼的互联网应用系统的要求而准备的。随着互联网应用的普及,传统的32KB的通信区已经完全满足不了互联网系统的要求。为此,IBM从CICS TS 3.1开始引进了通道和容器(Channel Container)的概念,本章对这一概念做了详细的讲解。
? 通过对各种应用情景的分析,我们推出了相应的解决方案。无论是对现有通信区的应用系统,还是新开发的系统,都给出了有效的迁移或开发方案,为需要使用通道容器技术的读者解了燃眉之急。
6.30章“COBOL排序/合并与软件质量控制”,全新的一章。
? 有幸邀请到了IBM主机资深的专家李小文先生执笔编写本章,他对IBM主机和银行系统有很高的造诣。
? 这一章介绍了IBM企业级COBOL中使用排序和合并的语法元素,并介绍了它们的用法。通过鲜活的程序例子,为我们展示了排序/合并的强大功能,以及使用过程中要注意的地方。同时加入软件质量控制的研究心得与体会,笔者尝试以轻松词语和真实案例打破自古以来技术文章的枯燥沉闷,值得一看。
本次修订版能够面世,要感谢的人很多,尤其是在过去几年中跟我们一起为西南某大型银行核心系统开发并肩作战的战友们。在本次修订版成文过程中,要特别感谢我们的同事陈超、王慧博、母云海和史硕先生,他们为本书提供了非常有益的建议。
参与本书编写的还有王青萍女士,她提供了本书中全部的精美绘图并提供了与图相关的文字描述。本书由于时间跨度长,信息容量大,加上作者水平有限,一定有许多疏漏的地方,敬请广大读者批评指正。
前言
这是一本写了20多年的书,是一本让你学习IBM主机技术不求人的书!
开始萌发写书的想法要追溯到20多年前,大学毕业分配到青岛的一家国有银行工作的时候。那时工作不是很忙,年轻的时候精力过剩,总想找点事情做做,但毕竟水平有限,能写的东西不多,成不了型,也就放下了。后来有机会去香港工作几年,然后又辗转到深圳的一家比较知名的做银行项目的民营公司,后又到一家著名的外企,虽然这段时间的工作经历为本书提供了丰富的素材,使得读者对书中的讲述有感同身受的亲切感,但这段经历繁忙到根本没有时间和精力提笔写书。
从2008年开始转行做培训方面的工作,就又有了写书的念头。因为有一件事,让我感触很深,在某个培训班中,有一批学日语的学生,他们几乎完全不会英语,但是却会中文。而我们的教材通常是英文的,根本没有这方面技术的中文书,使得有的学生实在学不下去,只好中途退学了。这件事,让我决定尽快写出一本通用的IBM主机技术方面的书,既能了却20多年前的夙愿,又能对从事主机工作的同行们尽自己的微薄之力。经过几年的努力,这本书终于面世了。
本书的定位是一本IBM主机技术方面专家级的参考书,既适合该行业的初学者入门的需要,也能满足有多年相关工作经验的行业高手进一步提高的要求。
本书有下面几个鲜明的特点,特此提出来与读者分享。
1.IBM主机技术的完整性
作者有多年的IBM主机技术应用的实践经验,非常清楚哪些技术是必须详细讲述的,哪些技术是可以一笔带过的,因此对于重要的知识点和在实际工作中经常用到的内容,以及有一定难度,平常也有可能用到的内容,本书都做了详细的讲述,以满足各种水平读者的需要;对于那些过于晦涩,使用不多的内容,本书只是简单讲述,并提供相关的参考线索,为读者进一步学习提供帮助。总之,本书希望能够让读者有一本在手、别无它求的满足感。
2.初学者入门的好帮手
多年的IBM主机技术培训和银行项目实训的教学经验,使得作者非常了解初学者对于学习IBM主机技术的需求,因此本书采用由浅入深、由易到难的编排顺序,将IBM主机技术的相关内容串联起来,使得读者只要按照本书的顺序阅读,就可以快速入门,并随着阅读内容的增加和对每个章节后面高级议题的深入理解,由初学者变成行业高手。
3.IBM主机技术高手们的增值器
由于行业的分工越来越细,即使从事IBM主机开发工作多年的人,所能接触的内容也是有限的,比如说,有的人做联机方面的工作比较多,对CICS方面的内容就比较熟悉;有的人做批处理方面的工作比较多,相应地,对作业流(JCL)方面的内容了解就要多些。由于本书充分考虑了IBM主机技术的完整性,因此,读者很容易通过本书,学到自己相对欠缺或不熟悉的知识,从而达到全面提高的目的。
此外,本书中有些议题,是目前国内书籍中很少讨论的。作者查阅了大量的国外相关论文后汇总到本书中,比如,处理多文件交易合并的平衡线算法及在银行应用系统中的应用、常用的MVS主控台命令和程序设计风格方面的一些内容等。
4.大量的程序例子
本书避免空洞的概念陈述,而是通过鲜活的程序实例来介绍IBM主机技术的各种元素,让读者能够从程序例子中了解技术元素的实际含义、在现实中的应用及使用过程中需要注意的地方。通过各种技术元素(程序、作业流、参数)的实际运用,让读者了解各种不同的技术元素是如何相互协作、相互配合、共同完成项目的。每个技术元素运行后的结果,都通过演示报表(Magic Report)的方法,清晰地呈现在读者的面前,加深读者对这些技术元素的理解。
5.查错和纠错技术的研讨
根据实际开发中的经验,作者深切地体会到,查错和纠错技术对于项目开发团队是多么重要,而这一点正好又是很多新手甚至工作多年的高手所欠缺的。写一个程序容易,但让程序正确完成指定的任务却不那么容易,这样的例子太多了。当程序员完成了一个程序后,运行出来的结果却是牛头不对马嘴,或运行中途异常结束的时候,很多读者都是一脸茫然,不知所措。
为了解决这个问题,本书提供了两种解决途径。
一是所谓的源程序级查错,即通过阅读源程序来辨别出错的原因。根据作者多年的实践经验,本书为各种类型的常见问题给出了几种可能出错的原因,比如,当你的程序出现死循环的时候,本书就为你提供了几种可能的原因,帮助读者通过阅读源程序尽快找到问题的根源。
另一种是根据运行时系统提供的信息,比如,系统的返回码或出错的程序代码的位移等,帮你顺藤摸瓜,一步一步地确定出错原因,从而找到解决办法。
这本书能够面世,要感谢的人很多。感谢以前在银行或公司一起工作的同事们,正是跟他们一起工作的时光,使作者能够博采他们出色的技术特长,汲取他们横溢的技术精华,才能使本书的内容如此多姿多彩。限于篇幅,这里就不一一列出他们的名字了。
评论
还没有评论。