| ILOVEMAINFRAME 的个人资料I love mainframe日志列表 | 帮助 |
|
6月4日 z/OS中使用OSFP路由协议的简单介绍Original URL: http://bluemainframe.net/2007/06/04/ospf-in-zos/ 在Z/OS环境中,OMPROUTE是一个静态路由的守护进程,对于IPv4,OMPROUTE遵守了RFC 1583(OSPF version2)、RFC 1850(OSPF version2 Management Information Base)、RFC 1058 (Routing Information Protocol) 和RFC1723 (RIP version 2 - Carrying Additional Information);对于IPv6,OMPROUTE遵守了RFC 2080 (RIPng for IPv6) 和RFC 2740 (OSPF for IPv6)。 OMPROUTE管理TCP/IP堆栈的路由表。在OMPROUTE的初始化阶段,会删除所有的在TCP/IP堆栈的路由表中的动态路由信息,之后,OMPROUTE重新生成TCP/IP堆栈的路由表,根据通过OSPF路由协议学习到的路由信息。OMPROUTE不使用BSDROUTINGPARMS语句,代替的是,OMPROUTE使用的是配置文件,这个配置文件同时被OSPF和RIP协议使用。OSPF和RIP协议通过在配置文件中定义的OSPF_INTERFACE和RIP_INTERFACE参数进行连接通信。 以上是一个OMPROUTE的启动procedure的例子。 定义OMPROUTE的环境变量: 以上的例子就是一个OMPROUTE的环境变量的文件的内容,在OMPROUTE的启动的PROCEDURE中通过STDENV DD语句标明环境变量文件的位置。环境变量的文件在ZOS中是data set ,这个data set 必须定义为RECFM=V。这是由于RECFM=F的data set 会在环境变量的尾部填充空格。 在ZOS中,对OMPROUTE的管理可以通过以下的命令进行: 启动OMPROUTE:使用start命令即可。 停止OMPROUTE:STOP <procname> 或者 MODIFY <procname>,KILL命令。 更改OMPROUTE的配置:F procname,RECONFIG、F procname,ROUTESA=ENABLE/DISABLE、F procname,OSPF,WEIGHT,NAME=<if_name>,COST=<cost> 启动、停止和更改OMPROUTE的trace和debug的level:F procname,TRACE=n:、F procname,DEBUG=n:和F procname,SADEBUG=n: 显示OMPROUTE的数据信息:F procname,RTTABLE和F procname,OSPF,LIST ALL 显示OMPROUTE的数据信息:D TCPIP,TCPIPA,OMP,OSPF,LIST,ALL 显示OSPF area的数据信息:D TCPIP,TCPIPA,OMP,OSPF,LIST,AREAS 显示OFPS interfaces的数据信息:D TCPIP,TCPIPA,OMP,OSPF,LIST,IFS 显示一个LSA的内容的数据信息:D TCPIP,TCPIPA,OMP,OSPF,LSA,LSTYPE=1, LSID=10.10.2.1,ORIG=10.10.2.1,AREAID=0.0.0.2 显示连接到某个路由器的所有OSPF的area的信息:D TCPIP,TCPIPA,OMP,OSPF,AREASUM 显示AS external advertisements的列表:D TCPIP,TCPIPA,OMP,OSPF,EXTERNAL 显示OSPF的邻近的lyq的信息:D TCPIP,TCPIPA,OMP,OSPF,NBR 显示OSPF路由器之间的数据信息:D TCPIP,TCPIPA,OMP,OSPF,ROUTERS 显示OMPROUTE的路由表中的所有路由信息:D TCPIP,TCPIPA,OMP,RTTABLE 6月3日 IDCAMSOriginal URL: http://bluemainframe.net/2007/06/03/idcams/ IDCAMS 其实算不上是一个记录在 z/OS UTILITY 手册中的常规组件。IDCAMS 更主要的用途是用来创建和使用 VSAM 数据集。它还有一些其他功能,比如更新 CATALOG。但是和它联系最紧密的还是 VSAM。IDCAMS 的复杂的功能还是留给大家自己看手册,我们还是讲些最基本的用法。 下面是一个很有代表性的 IDCAMS 的例子: //OGDEN12 JOB 1,BILL,MSGCLASS=X这个程序里面有两个 JOB STEP。第一步,删除在第二步将会创建的 DATASET。这是一个清除的功能。如果这个 DATASET 并不存在的话,这一步将会被忽略掉。 第二步中进行了执行了两个功能。用 DEFINE CLUSTER 命令创建一个VSAM 数据集;然后用 REPRO 命令将一个顺序数据集的内容导入。VSAM 数据集被创建在 WORK02 卷上,主空间为一个 CYLINDER,第二分配空间也是一个 CYLINDER。由于 VSAM 数据集大多使用变长的数据,所以该数据集被定义为平均 72 个字节,最大为 100字节。每个记录的 9 个自己的偏移量的首 8 个字节被设置为主键。ELIMIT 参数定义了 REPRO 操作中在终止运行之前允许忽略的错误次数。 很多 IDCAMS 的函数中中能够使用 TSO 命令,比方说 DEFINE CLUSTER 就是 TSO 命令。但是一般情况下我们不建议在 IDCMAS 中使用很复杂的命令,那样的话遇到的错误也会是很复杂的。一般我们查看和或者检查 IDCAMS 的命令和产生的消息都需要到 SDSF 中检查该 JOB 的输出结果。 6月2日 IEBDGOriginal URL: http://bluemainframe.net/2007/06/02/iebdg/ IEBDG 这个 UTILLITY 可以在指定的 DATASET 中在不同的区域生成不同样式的数据。IEBDG 是一个很具有代表性的生成测试数据的 UTILITY。能够生成各式各样的区块数据,并且还能够对其进行进行形状上的改动,比方说做成波浪形。另外,IEBDG 还支持输入式数据并覆盖制定区域的操作。 下面我们举一个最简单的例子: //OGDEN7 JOB 1,BILL,MSGCLASS=X这个JOB生成了一个叫做 OGDEN.TEST.DATA 的有90000条数据的DATASET。在 第一个 DD 里面的 DCB 参数中制定了每一条数据占80字节,控制声明段制定了一共有3个区域的数据占据了前50个字节的空间。剩下的空余位置,IEBDG 会默认将其设置为二进制的0,在 DATASET 中显示“.”。 我们指定的3个区域分别是: 字母字段,30个字节长,承叠进的波纹显示; 第二个区域放入的是固定的文字“TEST DATA ”,10个字节长; 第三个区域时随机产生10个字节长的的二进制数据。 这个例子是最简单的对 IEBDG 的用法的描述,IEBDG 还可以生成更加复杂的样式,这里就不再举例说明了。 6月1日 编辑数据集Original URL: http://bluemainframe.net/2007/06/01/edit-dataset/ 本人才疏学浅 只能来点简单东西 凑个热闹 写点数据集编辑命令 主命令:CANCLE:取消所做的编辑并退出编辑环境 CAPS ON/OFF:退出编辑环境后系统自动将所有字母转换为大写/小写 CHANGE(RCHANGE):替换字符,RCHANGE表示重复上次的替换。格式:CHANGE ** ** [ALL] FIND(RFIND):查找字符串 RECOVERY ON/OFF:设置编辑方式,ON表示用户可以通过UNDO命令取消上一次编辑操作 RESET:重置编辑器,清除不需要的信息 SAVE:保存当前修改,并继续编辑 SORT:对文档行按字典顺序排序 SUBMIT:提交作业;若作业是一段JCL程序,则通过该命令可以提交作业程序 UNDO:取消上一次编辑(仅当在RECOVERY ON编辑方式下) s(setup)+member:创建新成员(PDS) CUT:复制当前内容(配合CC和MM来使用) PASTE:粘贴当前内容(配合CUT来用 很常用) COPY+member-name:复制同一DATASET下MEMBER内容(配合AB使用) HI+XXX:高亮显示某种语言(JCL COBOL REXX等等) MEMBER+member-name:查询当前所有DATASET下该member是否存在(非常实用) PROFILE:列出当前编辑环境的所有的editor profile HEX ON/OFF:打开关闭十六进制编码形式 AUTOSAVE ON/OFF:打开关闭自动保存 AUTONUM ON/OFF:自动重新编号行号(SAVE后生效) PROFILE UNLOCK/LOCK:可以修改ISPF的editor profile PACK ON/OFF:是否将该MEMBER保存成PACK格式(一种主机上标准的压缩格式) TABS ON/OFF:编辑的时候是否允许用TAB键跳格 行命令:C、CC、Cxx:拷贝命令。与其他行命令(A、B)或主命令 结合使用 C 拷贝当前行,CC拷贝多行,用两个CC来定位,Cxx拷贝多行,XX表示行数 I、IXX:插入命令。执行一次插入命令后,可直接按回车(ctrl)换行 D、DD、Dxx:删除 R、RR、Rxx:复制 O:覆盖当前内容(结合C和R来用) A:定位于当前行之前 B:定位于当前行之后 X、XX、Xxx:隐藏 S、Sxx:显示隐藏的内容 COLS:屏幕的刻度标尺 UC、UCxx:转换成大写 LC、LCxx:转换成小写 (, (xx:将当前行左移一列或xx列(或者<) ), )xx :将当前行右移一列或xx列(或者>) TS:将一行文本切分为两行 TF:将多行文本合并为一行 只能记得那么多了 希望大家补遗 5月31日 IEBGENEROriginal URL: http://bluemainframe.net/2007/05/31/iebgener/ IEBGENER 这个 utility 拷贝一个顺序数据集到另一个。(记住:分区数据集中的 member 可以被用作一个顺序数据集。)这个 utility 同样还能做一些数据的过滤,可以改变 LRECL 和 BLKSIZE,产生记录,以及几个其他的功能。然后,它被用的最多的是简单拷贝数据集,下面是一个典型的例子: IEBGENER 需要四个 DD 语句。SYSIN DD 语句是用来读取控制参数,用于简单情况,就不需要控制参数,这时候可以用 DD DUMMY 来代替。SYSPRINT 语句用于打印 IEBGENER 信息。SYSUT1 语句用于输入而SYSUT2 语句用于输出。这个例子读取一个现有的数据集然后把它拷贝到另一个新的数据集中。 如果输出的数据集是新的并且没有指定 DCB 参数,IEBGENER 就会赋予它和输入数据集一样的 DCB 的参数。(DCB 参数包括 LRECL,RECFM 和 BLKSIZE) 另一个常用的例子是: 这个例子假设 BILL.TEST.DATA 这个数据集已经被创建了,这个作业将会用 SYSUT1 输入流中的数据重写它,因为输出的数据集已经存在,IEBGENER 将使用它现有的 DCB 属性。 IEBGENER 是提供给 z/OS 的最基本拷贝或者 list 的程序,它在 OS/360 第一个发行版本就存在了。 Mainframe 的发展历程Original URL: http://bluemainframe.net/2007/05/31/mainframe-history/ 这也是商业公司第一次在高安全级别的平台上处理商业运作。 1968年,随着 CICS - Customer Information Control System - 的推出,个人用户终于可以通过工作站对数据进行查找,更新和回朔了。即使到现在,CICS 仍旧是非常流行的业务监控产品。 1982年,寻址空间从24位上升到了31位。 1984年,IBM 推出了1MB的硅铝半导体芯片。 1988年,扩展名被引入支持多重寻址。同年 IBM 对 DB2 的使用进行了调整,减低了CPU使用率并戏剧性的提升了效率。 Mainframe 在随需应变的要求下不断丰富完善着其功能。IBM eServer™ z/Series 目前已经成为了能够适应高密度工作量,并能够提供高度安全、稳定和实用性的旗舰产品。 5月30日 IEFBR14Original URL: http://bluemainframe.net/2007/05/30/iefbr14/ 这个程序的唯一功能是提供一个0的返回码,它被用作一个“执行 JCL ”的安全的媒介。执行 JCL 的书法并不是一个非常准确的术语,但是这里能够很好的传达想法。如下面的例子: 尽管被执行的程序(IEFBR14)并没有做任何事情,但是这还是一个非常有用的作业。当准备运行这个作业的时候,initiator 分配了数据集 OGDEN.LIB.CNTL 并保持到作业完成。它同时在作业完成时删除了数据集 OGDEN.OLD.DATA。在这个作业中 DD 的名字 A 和 B 其实没有任何意义,但是这里被使用是因为 DD 语句的语法要求每个 DD 都要有的名字。 你完全可以通过 ISPF 来完成新增一个数据集和删除另一个数据集。但是这些 JCL 代码可能会被作为一个很大顺序执行 batch 作业的一个部分。
IEFBR14 不是一个 utility,从这个意义上来说他不应该包含到 Utilities 的手册上。然后没有任何其他特别的分类可以包含这个有用的程序,所以我们专制地把它放到 Utility 的分类中。 下一个 utility:IEBGENER 什么是 JCLOriginal URL: http://bluemainframe.net/2007/05/30/what-is-jcl/ JCL(Job Control Language,作业控制语言)是描述运行在 IBM 大型机上的 z/OS 和 z/VM 操作系统中的作业(执行单元)的语言。大型机操作系统给以在电脑上启动的所有作业分配时间和空间资源。作业依次被分解为作业步。作业是无需用户交互的操作(例如,打印作业)的后台执行单元(有时称 Batch)。另外,操作系统管理着交互的(前台的,Online)用户请求,这些请求初始化了执行单元。一般来说,前台操作被赋予了比后台操作更高的优先级。 一本IBM的手册把整套JCL语言比作餐馆的点菜的订单。整个订单就像是作业。在后台厨房,厨师把订单分解开来,作出每一道菜(作业步)。当作业步都完成时,整顿饭就做好了(但每道菜必须按指定的顺序来做,就像某些作业步是依赖于其他一些已经执行了的作业步一样)。 JCL 语句主要描述了需要访问的输入数据集,将要被创建或修改的输出数据集,需要为这个作业分配哪些资源,以及要使用这些输入输出数据集来运行的程序。一个作业的 JCL 语句集将会以数据集的形式存储下来,并且能够通过交互启动它。z/OS 提供了一个交互式的像菜单一样的接口 ISPF,可以用它来初始化和管理作业。 JCL 语句主要分为三部分:
在 z/OS 中,操作系统中用来处理 JCL 的那部分被称作作业入口子系统(JES)。总共有两个版本,JES2 和后来的一个带有附加功能的版本 JES3。 JCL 的语法是比较简单,如果你有什么不明白的地方你可以给我们留言,我们会尽力回答你们的问题。 接下来的关于 JCL 文章,我们会主要介绍 JCL 的 Utilities,第一个我们会介绍的是 IEFBR104 Mainframe 系统架构进化Mainframe 在20世纪60年代开始得到大力发展。在那时,mainframe 只是某种类型的电脑而已,它们只能支持很少的商业活动。销量也很少,并且每台 mainframe 是独一的,被裁剪以适合客户主要的(经常也是唯一的)商业程序。 在1964年,事情发生了戏剧性的变化, mainframe 厂商开始统一标准化它们提供给客户的硬件和软件。这个改变发出了开始一般用途电脑的年代的信号。mainframe 以标准化运行他们的 workload,客户可以不用去指明底层的硬件和软件去写他们的商业程序。此外,客户可以免费的升级到更新的并更强大的处理器,而不需要去考虑和他们现存程序的兼容性问题。第一批用来写客户商业程序的语言绝大部分是 COBOL,FORTRAN 或者 PL/1。而且这些非常老的程序绝大部分今天依就在使用。 从1960年开始每十年,mainframe 计算机开始稳步发展并实现了巨大的运算能力,今天的 Mainframes 已经有无与伦比的能力去服务成千上万的最终用户,可以管理 P 级别的数据,并能重新装配硬件和软件去适合 workload 的改变,– 所有的知一切都是来源于一台电脑的控制。 下一篇:Mainframe 的发展历程 5月29日 什么是 MainframeOriginal URL: http://bluemainframe.net/2007/05/29/whatismf/ 现今,我们已经很少使用 Mainframe - 主机、大型机 - 这些词了,取而代之用语是大型商业计算机或者服务器,Mainframe 被归为大型商业服务器一类了。就像我们说的 zSeries Mainframe 叫做 Z 系列服务器。服务器的增长速度相当惊人,我们日常的商务活动中已经涉及到太多的服务器:业务服务器、数据服务器、邮件服务器、网络服务器等等。从普通的家庭个人电脑到时下最顶尖的主机硬件的需求始终都是决定服务器的功能水平。最初的 Mainframe 是作为一个中央数据库或一个网络集线中心出现的,存储着大量的数据,通过相对功能较低的工作站或者终端连接着各个用户的设备。它的出现意味着数据的大规模集中,用以节省客户的资源和维护成本,同时还能够增进数据的流动。但是随着个人电脑的运算速度的加快、更加功能化,Mainframe 必须向更灵活更多元化的方向发展以适应市场的需要。于是能够动态配置硬件或者软件的 Mainframe 出现了。 但是当硬件已经不能更好的分档管理的时候,Mainframe 需要有更好的方法来解决。于是在 1964 年,IBM推出了第一代计算机操作系统:System/360™ (or S/360™)。并以此为基础提出了操作系统平台,并每十年的对操作系统构架进行一次革新,1970年推出了 System/370™,1983年推出了 System/370 Extended Architecture (370-XA),1990年推出了 Enterprise Systems Architecture/390® (ESA/390),到了2000年 z/Architecture™ 诞生了。这段历史会在随后的介绍性帖子中陆续将到。IBM 推出的这一系列操作系统平台将 Mainframe 的灵活性和应用广泛包容性推到了顶峰。 回到主题,什么是 Mainframe 呢?Mainframe 在今天更多地被形容成一整套操作、应用和系统的集合。但是从工作性质和运用的方面来定义:Mainframe 就是指在商业活动中,用以管理商业数据和维护交易服务并能够提供更高级别的安全性和实用性的机器。 其实 Mainframe 是不可能用一句话来定义的,各种定义都会很牵强,也有很多偏拨之处。因为 Mainframe 本身的含义已经超越了其字面理解的范围。我们不妨用几个词或句子来形容以下 Mainframe:
Mainframe 就是将这些特点集于一身的最有代表性的机器。 敬请期待 Mainframe 下篇文章: Mainframe 系统架构进化 开始Original URL: http://bluemainframe.net/2007/05/29/begin/ 我们会以一系列的基础知识的介绍开始我们的博客,希望这些基础知识能够帮助大家重新认识和理解mainframe以及相关的技术。 目前我们还有的大型机系统维护的论坛也在进行中,如果你有任何问题,非常欢迎你到我们的论坛上提问或者解答提出的问题。 首先是我们的第一篇:什么是 Mainframe |
|
|