大型机中关于数据集的catalog问题

来源:互联网 发布:ping涉及的网络协议 编辑:程序博客网 时间:2024/06/03 17:03

先对数据集的编目进行一个概览:

在MVS中,数据集的管理主要是通过目录(CATALOG)来实现的。目录本身是一个数据集,它含有其它数据集的信息,提供一种能力,按数据集名去定位数据集的地址。MVS中最初没有目录,因此用户必须牢牢记住其数据集所在的卷,在访问数据集时,除了要指定数据集的名字外,还要指定数据集所在的卷。由于系统中的卷的个数非常多,用户使用很不方便。之后,随着操作系统的发展,实现了CVOL目录和VSAM目录。现在使用的目录是Integrated catalog。
         这三种目录可以并存于同一个操作系统中,其中前两种只是因为考虑兼容性而存在,系统中如果没有早期的应用需求,可以完全不使用前两种目录 形式。

 对数据集的编目实际上是对数据集的入口建立表格和索引。访问数据集时,系统通过查找目录来定位已编目的数据集。目录中包括数据集名,卷标(VOLUME)和设备类型(UNIT)。
当读取编目的数据集时,只需指定数据集名和数据集状态,无需指定VOLUME和UNIT参数,这时,系统通过数据集名(DSN)查找编目,从编目中获取UNIT和 VOLUME信息,然后再通过UNIT参数和VOLUME参数指定的VTOC获取数据集位置,大小等信息。

 使用编目后,用户不再需要知道外存储器的详细设置,因此数据可以从一个地方移动到另一个地方而不必改变JCL中的DD语句,访问数据集时也不必知道数据集存放的卷。使用编目同时也简化了数据集的备份和恢复过程。所有VSAM数据集和SMS管理的数据集均需要编目。

如果你使用了SMS,或者为编目定义了别名(alias),则在JCL中不应该再使用JOBCAT或STEPCAT语句去指定catalog。

   一个编目机制包含两种独立的数据集:一个基本的编目结构(BCS)和一个VSAM卷数据集(VVDS)。BCS可以认为是编目,而VVDS则可认为是VTOC的扩展。

   BCS是一个VSAM KSDS数据集,它使用数据集的名字作为关键字。对于VSAM数据集,BCS含有卷、安全信息、拥有者及其它信息。对于非 VSAM数据集, BCS含有卷,拥有者及其它信息。

 VVDS是一个VSAM ESDS数据集,其名字为:SYSI.VVDS.Vvolser。 VVDS存放在每
一个含有VSAM或SMS管理的数据集的卷上。它含有数据集的特性和扩展(extention)信息。
对于VSAM数据集来说,还含有卷的有关信息。因此,编目的数据集描述信息包含在VTOC,BCS和VVDS中,三者描述的信息应当一致。这种一致性由操作系统自动同步。

 所有SMS管理的数据集在VVDS中都有登记项,对于VSAM数据集的VVDS记录被称之为VVR(VSAM Volume Record),而对于SMS管理的非VSAM数据集的VVDS记录则被称之为NVR(Non-VSAM Volume Record)。如果一个非VSAM数据集跨多个卷,则其NVR在第一个卷上。

由于BCS同样也是一个VSAM,它在 VVDS中也有一个VVR。临时的 VSAM数据集在VVDS中同样也有登记项,但在BCS中没有登记项。

  在MVS系统中,有一个主目录(Master Catalog)及多个用户目录(User Catalog)。
主目录是整个外存系统管理的中心控制点,它描述系统的数据集和用户目录,而用户目录则描述用户的数据集。通常称在目录中有描述信息的数据集为编目的数据集。显然,主目录的信息非常重要,因此可以有一个或多个主目录的备份。但任何时候系统中只能有一个主目录在使用,形成一个以主目录为中心的两级层次式的数据集管理方式,主目录与用户目录的区别仅仅在于它使用的方式。

 SYSI.NUCLEUS数据集的SYSCATXX成员(如果有的话)或SYSI.PARMLIB(或SYS1.IPLPARM)数据集的LOADXX成员指向主目录。在系统启动时,操作员也可指定使用另一个主目录。所有的用户目录均登记在主目录中。

 

从以上可以看出由用户直接进行数据集的编目还是比较不常见的,我也不会,所以先不管这个东东,以后再说。

原创粉丝点击