QW命令——MVS/QuickRef帮助文档
大机平台上有一个很了不起的帮助文档系统,名字叫做MVS/QuickRef,是一款强大的在线查询系统。用过微软的MSDN的童鞋都知道MSDN的强大。大机上面的MVS/QuickRef几乎可以查到所有你想查的资料,因为这款查询工具号称超过5k万行,以简单易懂著称。最主要的是查询特别方便,使用ISPF直接调用命令QW即可查询内容。
MVS/QuickRef现在最新的版本是2011年4月份新出的MVS/QuickRef 7.4 ,我们公司还在用的是7.0的版本。这款强大的查询工具是由一家名叫Chicago-Soft的公司生产的,主页在:MVS/QuickRef主页,可以去看看。
在大机上,MVS/QuickRef能查询许多方面的。这是官网上关于MVS/QuickRef强大的一段文字描述:
more ..."MVS/QuickRef's simple, easy to understand information helps you resolve 97% of the problems affecting z/OS, CICS, DB/2, IDMS ...
继续介绍世代数据集GDG
上篇文章我简单介绍了下大机平台上用到的一种叫做世代数据集(GDG)的文件,在这一篇里,我来比较详细地说明下GDG的用法和注意事项。
1、新建GDG base
一般我们可以用Job来新建一个GDG base,下面,我利用utility IDCAMS来生成一个名为IBMUSER.MYGDG.BASE并且可以有10个generation的GDG base。只要提交这个job马上就生成了GDG base了。
2、新建GDG generation
那么GDG base生成以后,如何生成一个generation呢,要怎么规定生成的generation的文件属性呢?这些都在你的Job里面做的,比如下面的JCL语句:
//EXTRACT DD DSN=IBMUSER.MYGDG.BASE(+1),
// DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,
// SPACE=(CYL,(10,8)),
// DCB=(SYS1.MODEL,RECFM=FB,LRECL ...
世代数据集—GDG介绍
跟大机打交道,一定对大机上面的一种特殊文件gdg不会陌生。gdg又称世代数据集,在大机上面是用来组织彼此相关联的文件。比如你需要一年12个月每个月的报表数据,则可以定义一个有12个generation(世代)的GDG,每个generation存一个月的数据,这样就保证了彼此关联的信息能被更方便地管理和维护。它会保证任何时候都只保留最新的12个月的数据。
要使用GDG,你必须先有一个GDG base,有了GDG base才可以不断地产生generation。GDG文件是用GDG base名字+generation number来唯一区别的。比如你新建了一个GDG base的名字叫做:
PROD.CLIENT.ACCOUNT.NUMBER
则一般你以此产生的第一个generation的名字就叫做:
PROD.CLIENT.ACCOUNT.NUMBER.G0001V00
以此类推,第二个就叫做:
PROD.CLIENT.ACCOUNT.NUMBER.G0002V00
直到G9992V00
为止。G000,G001等等叫做世代编号,V00叫做版本号,据我所知,平常用到的基本都是V00,可以这么说,除非极特殊的情况,否则你这辈子不会用到V01 ...
介绍几个比较有用的ISPF命令
上一篇讲的是常见的TSO/ISPF命令,这篇来讲讲我收集到的日常比较有用的ISPF命令。
HRECALL
大机上的Dataset比较久了没有被访问的话会自动被迁移(migrate)到tape中保存的,根据时间的长短,Dataset会被migrate到不同的level,比如MIGRAT1,MIGRAT2等等。这时,如果你想把这个Dataset 召(Recall)回来的话,平常我们都在这个Dataset前面打个Call
命令。这样做有个不好的地方,就是如果这个Dataset需要很长时间才能被RECALL回来的话(比如30分钟),那这30分钟之内你只能看着屏幕发呆而啥都干不了了。所以这种情况下你可以试试后台Call的命令HRECALL
,它在后台操作,结束后会有提示,完全不影响你做其他事情
NUM OFF
有时你在编辑一个Dataset的行末尾的时候,每次保存都会提示:Some input data
ignored。这时因为默认情况下末尾的行号显示是开着占了8位,这8位是不可修改的,这时你可以试试在命令行上打个NUM OFF
把行号显示关了。
XDC
这是一个SDSF(系统显示与查询工具 的命令,如果你想把一个JOB的输出Log保存到某个地方,比如自己的PDS,那么你可以在SDSF里面在这个JOB的Log前面打上XDC,然后写上你要保存的地方即可 ...
more ...Dataset View和Browse的区别
在大机上,View和Browse都能查看dataset/member,它们有什么区别呢?下面是我在平常的工作当中找到的三点区别,欢迎补充!
1、Browse默认显示80列,而View默认显示72列,当然两者都可以用PF11向右翻页。
2、Browse不允许修改,尝试修改会马上锁屏,而View可以修改,但不能保存成当前同名的,就是说有"另存为"的功能。
3、Browse下许多命令不能用,比如语法高亮HI ON,比如JCL语法检查JEM,而View下都可以用。
你在view一个Member,若尝试做任何更改,会跳出这样的一段提示的话:
当你在View一个member的时候,可以在左边列用两个CC
选择你要另存为的范围,然后在command栏上输入CREATE
,回车即可另存为了:
个人认为View最有用的就是可以提交别人的JCL。下图中,假设你的ID是USERID02
,而USERID01
是你同事的ID,你自然是没有权限去sub他/他的JCL,这时,你要么可以把这个JCL拷到你自己的LIB下面改成你的ID再sub,要么直接View进去,改成你的ID,sub完之后无需保存即可。对于这种别人的JCL又不想麻烦地copy到自己lib时,是不是方便多了呢?
DATACOM数据库介绍
CA Datacom听过么?它是CA(Computer Associates)公司的企业级数据库。以能承受高负荷和较强的容错性著称,在mainframe平台上有比较广泛地应用,不过最近几年Datacom公司貌似不怎么行了,大家都换上了IBM的DB2数据库了。
Datacom不是关系型数据库,它是通过KEY来访问记录的,可以说是具备了基本的文件系统特征。通常KEY是某个或某几个字段的组合,一个table可以有多个KEY。在PL/I或COBOL程序中访问Datacom是通过调用接口DBNTRY来实现的(XXX是table名字)。 在COBOL中是这样call的(XXX是table名字):
CALL ‘DBNTRY’ USING USER-ID
XXX-REQ-AREA
XXXF0
XXX-ELEMENT-LIST
而在这之前,要先声明:
01 USER-ID.
05 PROGRAM-NAME PIC X(08) VALUE 'MYPGM00 '.
05 FILLER PIC ...
大机平台的版本控制工具Changeman
在主机上面有好几个比较常见的版本控制工具,比如changeman和Endevor。我介绍下changeman。
ISPF面板上输入C;1
changeman的界面,这里装的版本是5.6.2c,
我介绍下各个常用选项
1.
用来新建,更新一个package的,你需要新建一个package来放置你的PL/I,COBOL程序和JCL等等
2.
将package freeze或unfreeze,在你觉得package里面的所有东西都测试得差不多了,可以准备上线安装之前,你要先freeze冻结掉这个package,然后等待相关项目管理人的approve,这样这个package才能被合法地安装。当然,如果你冻结了package之后,发现还有程序需要被修改什么的,这时候你可以反冻结(unfreeze)它,最好在package还没被approve之前。
3.
promote 或 demote。promote就是把你修改的程序版本提升到更高的level去。举个例子,一般PL/I或COBOL等写的程序在进入生产环境之前都会经过开发(Dev)——>系统集成测试(Sys)——>用户接收测试(UAT)——>生产环境(Prod),promote就是可以把你的程序从较低的level提升到较高的level,慢慢接近prod,而demote反之就可以了。
4 ...
more ...登陆大型机——Aviva的介绍
一般我们日常用PC机工作拿什么软件来跟大型机(以下简称大机)交互呢? 理论上说几乎所有的终端登陆软件都可以的。而且一般每种终端登陆软件都支持多种协议连接到大机上,比如最常见的TCP/IP,FTP,TELNET,SSL
等等。这些软件有很多,外面比较常用的是PCOMM,putty,SecCRT
等等,我只用过PCOMM,稍微配置下IP啥的就可以连大机了。这个百度下就出来一堆。
我们公司比较另类,用的终端软件叫Aviva,一般我们读作"鹅vi哇",希伯来词,意为“美丽的春天”, 产自美国美国(Eicon)公司。谷歌能下载到,不过只有试用版的貌似。
下面我说下Aviva的一些基本概念和使用。
Destination和Session的配置:
所谓Destination 就是大型机的物理IP,你要连接到大型机上,就必须得配置下大型机的IP。装好aviva后,开始——>程序——>Eicon Aviva——>Create New Destination 这里destination的名字就取:My Destination ...
more ...Hercules搭建z/OS虚拟机遇到的问题及解决办法
初学,在windows上搭建z/OS虚拟机,遇到不少问题,找到解决方法,记在这里。
PCOMM每次都提示打印,怎么去掉这个烦人的窗口?
解决办法:
PCOMM去掉每次连接提示打印的烦人窗口的方法:在D:\SOFTWARE\IBMPCOMM\private\*.ws
文件里面添加:
[LT]
IgnoreWCCStartPrint=Y
UndefinedCode=Y
UndefinedDBCSChar=Y
如何为每一个磁盘建立shadow?
解决办法:
比如:sf+0A80
: 为设备号为0A80的设备建立shadow (设备号只是个临时的概念)
IEE038E AMOUNT OF EXPANDED STORAGE EXCEEDS 0G MAXIMUM
解决办法:
在zOS1.9.cnf配置文件中删掉下面一行即可:
XPNDSIZE 6
HHCLC042E Port 00: Read error ...
more ...
z/OS虚拟机各Volume的解释
Volume的内容 (z/OS 1.6)
VOLUME UCB Contents
Z6RES1
- A80 - Res Volume 1 - Required for IPL
Z6RES2
- A81 - Res Volume 2 - Required for IPL
Z6SYS1
- A82 - IPLPARM, JES2 Spool, Public Work Volume, Mastercat required for IPL
Z6USS1
- A83 - USS Root and accompanying HFS files - required for IPL
Z6USS2
- A84 - Supplemental ...