




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、主机系统导论(VSAM介绍)刘益先2022-1-311VSAM基本概念及功能2022-1-312VSAM基本概念 基于虚拟存储概念而发展起来的虚拟存取方法,其支撑环境是虚拟存储操作系统和直接存取存储设备,虚拟存取方法集中了各种数据组织方法的所长,可以在有效利用主存储器的虚拟存储系统下高效率地进行一切种类的数据存取 是IBM公司最初为虚拟存取环境而特意设计的一种文件管理系统,它提供了主存储器与直接存取存储设备之间管理数据传输的可靠的有效的方法。2022-1-31 VSAM基本概念虚拟存储虚拟存储技术的发展,为文件管理系统开拓了新的方向,而基于虚拟存储概念而研制发展的虚拟存取方法,在IBM系列的机
2、器中也已经普遍地使用。VSAM是一种虚拟存取方法,它是为了与直接存取存储设备DASD(Direct Access Storage Device-能够在文件上直接地存取任何记录的设备)一起使用而研制的文件管理系统。VSAM是把用户的逻辑数据(应用处理程序应用处理程序)与辅助存储器中的物理数据相连接,从而为程序员在数据管理中提供方便,程序员可根据不同的需要选择不同的数据组织。VSAM 存取文件记录的方法存取文件记录的方法将不依赖于存放记录的外部设备类型,而是通过这个记录对文件开始点的相对位移(相对位移以字节为单位计算)来访问记录。相对位移值就称之为相对字节地址 RBA(Relative Byte
3、Address)。文件开始点地址定为 0。VSAM方法还有一组服务性的程序-存取方法服务存取方法服务AMS(Access Method Service)这组服务性程序可以定义和维护VSAM文件,把记录输入到VSAM文件中、为文件建立一个或多个替换索引、复制和打印文件、产生文件的副本、恢复失效的数据、把顺序存取方法( SAM)文件和索引顺序存取方法(ISAM)文件转换成VSAM格式、并且能对已转换成VSAM格式的ISAM文件进行处理。2022-1-31VSAM的功能(介于程序逻辑记录读取和操作系统物理记录读取之间的一个中间件平台)2022-1-31VSAM的功能用户程序读取VSAM数据记录逻辑I
4、/O请求VSAM物理I/O操作操作系统2022-1-31测试2022-1-31VSAM术语介绍2022-1-318VSAM术语o RBAo CIo CAo Spanned跨越记录o Cluster2022-1-31RBA2022-1-31RBA相对字节地址相对字节地址 文件中的记录由其位移以字节编址,并且编址是从文件的起始位置开始。这个位移就是记录的相对字节地址RBA(Relative Byte Address)。例如:文件中的第一个记录其RBA=0,第二个记录所具有的RBA就等于第一个记录的长度,如此类推。 RBA并不取决于在直接存取卷中记录的位置,换言之,就是不取决于设备的柱面或磁道,同时
5、也不取决于记录所存放的存储器的相连域。对于这种相对字节编址,VSAM把文件中所有的CI视为相连的区间。这样,就犹如把文件存放在一个位置上,从其地址0开始。 在计算相对字节地址时,VSAM把在CI中的控制信息和自由空间也作为记录本身一样看待,考虑为地址空间的一部分。 数据记录1 数据记录2 数据记录3 自由空间 控制信息 100Bytes90Bytes40BytesRBA1=0 RBA2=100 RBA3=190 RBA4=230相对字节地址示意图2022-1-31CI 控制区间CI(Control Interval)是DASD中连续的区域。在该区域内,VSAM存储数据记录及描述这些数据记录的控
6、制信息。 CI是VSAM方法在虚存(Virtual Storage)和外存(DASD)之间传送数据信息的基本单位。每个CI由一个以上的定长或变长的逻辑记录、自由空间、及描述本CI数据存放和空间使用情况等控制信息所组成。2022-1-31 CI控制区间、物理记录、逻辑记录、磁道之间的关系控制区间、物理记录、逻辑记录、磁道之间的关系:逻辑记录 逻辑记录 逻辑记录 自由空间 控制信息物理记录 物理记录 物理记录 物理记录 物理记录 控制区间 (CI) 控制区间 (CI) 控制区间 (CI)物理记录 物理记录 物理记录 物理记录 物理记录 . . 物理记录 磁道1 磁道2 磁道3A设备 控制区间 (C
7、I) 控制区间 (CI) 控制区间 (CI) 物理 物理 物理 物理 物理 物理 物理 记录 记录 记录 记录 记录 记录 记录 磁道1 磁道2 磁道3 磁道4B设备2022-1-31 VSAM结构和NON-VSAM结构2022-1-31CA2022-1-31 CA在VSAM文件中,CI组成更大的结构-控制区域CA(Control Area),文件中的每个CA都有同样数量与大小的CI,若干个CI构成CA。CI的数量由VSAM所决定。 CA是直接存取空间的单位。要把记录加入文件的末端时,VSAM就要对CA进行格式化。扩充文件时,CA也随之扩充,这种扩充必须是整数量级的扩充。换言之,在DASD里,
8、CA都是定长的,当VSAM要扩充一个文件的空间时,就将得到一个或者若干个CA。通常,CA总是占据整数量级的磁道,实际上在包含文件的设备中,CA将占有整个柱面(Cylinder),并从其柱面边界开始占据。VSAM在分配空间时都要在每一个CA里留一定的空白的、自由CI,以利于文件的扩充。数据记录 数据记录 数据记录 自由空间 控制信息CI1数据记录 数据记录 数据记录 自由空间 控制信息CI2数据记录 数据记录 数据记录 自由空间 控制信息CI3数据记录 数据记录 数据记录 自由空间 控制信息CI4自由空间 (CI)CI5CA一个包含一个包含5个个CI 的的CA示意图示意图2022-1-31 Sp
9、anned跨越记录(跨越记录(Spanned)KSDS和ESDS的记录长度如果超出CI,但又不能把它们分为几部分,或者为了使这些记录适合于 CI 的大小而又不重新格式化,那么,这些记录可以跨越或扩充至一个或多个 CI 边界,但在跨越之前,程序员应在定义文件时指定选择项“SPANNED”,这一类记录就称之为“跨越记录”。跨越记录从其CI边界开始,并写满CA中的一个或多个CI,包含跨越记录的最后部分的 CI, 可以存到还没有使用的空间,但是这个空间只能用于扩充跨越记录,而不能包含其他记录。 CI CI CI CI CI CI CI 跨越记录 跨越记录 跨越记录未用空间未用空间未用空间包含跨越记录的
10、控制区间示意图包含跨越记录的控制区间示意图2022-1-31Cluster2022-1-31测试2022-1-31测试2022-1-31VSAM数据类型详解2022-1-3121VSAM数据类型VSAM是是MVS数据管理中存取方法最为复杂、效率最数据管理中存取方法最为复杂、效率最高、最重要、结构最先进的一种数据结构。高、最重要、结构最先进的一种数据结构。2022-1-31LDS 结构oLDS说明nCI size 4K32KnNo control information in the CInApplication program must understand the structure of
11、the data线性数据集线性数据集(LDS)实际上,LDS是字节流数据集并且在传统的z/OS文件(相对于z/OS UNIX文件)中它是唯一的字节流数据集。许多z/OS系统功能大量使用这种格式,但在应用程序中很少使用。2022-1-31 RRDS2022-1-31RRDS操作o查找n Sequential accessn random access (RRN)o增加n 可增加o更新n 可更新,记录长度不可变o删除n 可删除,空间可以重复利用2022-1-31 ESDS 2022-1-31ESDS2022-1-31CIDF 4个字节,描述CI的空闲空间; RDF 3个字节,描述记录的起始位置和长
12、度2022-1-31ESDS操作o查找n Sequential accessn random access (RBA)o增加n 尾部追加o更新n 可更新,记录长度不可变o删除n 不可物理删除,但可以逻辑删除2022-1-31ESDS应用领域2022-1-31 VSAM数据集KSDS 键顺序数据集(键顺序数据集(KSDSKey Sequenced Data Set)1。记录长度:定长或变长。记录长度:定长或变长2。记录地址:可改变记录的相对位移。记录地址:可改变记录的相对位移RBA(Relative Byte Address)3。记录位置:通过键字段而排序。记录位置:通过键字段而排序4。跨越记录
13、:可以。跨越记录:可以5。存取方式:顺序、直接、键或。存取方式:顺序、直接、键或RBA存取存取6。空间回收:可插入或删除记录并回收重用。空间回收:可插入或删除记录并回收重用7。自由空间:通过文件的自由空间增加记录或改变记录的长度。自由空间:通过文件的自由空间增加记录或改变记录的长度8。这是。这是VSAM最常见的格式。每个记录有一个或多个键域,记录可以通过键读取最常见的格式。每个记录有一个或多个键域,记录可以通过键读取(或插入或插入)。这提供了对数据的随机访问。记录是变长的。这提供了对数据的随机访问。记录是变长的。2022-1-31KSDS 结构INDEX2022-1-31KSDS 内部组织解析
14、2022-1-31KSDS INDEX2022-1-31KSDS 查找007 066 079 FS100 235 236 FS99 2362022-1-314040 4071 4077 FS 2022-1-314040 4071 4077 FS 2022-1-31 Split CI与与CA的分裂的分裂 (Split) 以前所讨论的记录的插入、增加和扩充,都是假定在控制区间 (C I)中存在着足够的自由空间足以容纳这些记录。如果要插入的记录并不能全都放在一个 C I内,就会出现控制区间分裂(CI Split)。这时,VSAM会将这些数据记录连同它们的控制信息从已写满的控制区间移至同一控制区域CA
15、中空的控制区间CI中,并以适当的键顺序插入新的记录。 在指定的CA里,当CI中的自由空间不能容纳新记录时,就要出现控制区域的分裂(CA Split),VSAM 会在文件的末尾处建立新的 CA。它可通过使用原来已经分配的空间来实现,也可以通过扩充文件而实现。 对于有足够自由空间分布的文件,不应经常出现分裂。2022-1-314040 4051 4071 4077 FS 2022-1-314040 4051 4071 4077 FS 2022-1-314040 4051 4071 40774040 4050 .4071 4074 4077 4070 4077 .2022-1-31KSDS操作o查找
16、n Sequential accessn random access (KEY)o增加n 可任意位置增加o更新n 可更新,记录长度可变o删除n 可物理删除2022-1-31KSDS和ESDS的比较2022-1-31KSDS和ESDS的比较2022-1-31 比较ESDSRRDS类型类型KSDS特征特征定长或变长定长记录长度定长或变长不可改变记录的RBA不可改变槽的相对记录号记录地址可改变记录的RBA按进入的物理顺序排序按相对记录号排序记录位置通过键字段而排序可有不可跨越记录可有顺序或直接存取。根据RBA直接存取。顺序或直接存取。根据RRN(视为键)直接存取。存取方式顺序或直接存取。根据键或RB
17、A直接存取。不可插入或删除记录。但可用同等长度的记录置换而重用该空间。可删除记录。可插入同一相对记录号的新记录重用该空间。空间回收可插入或删除记录。可回收被删除记录的空间重用。文件末端的空间可用来增加记录,但不能改变记录的长度。文件中空的槽可用来增加记录,但不能改变记录的长度。自由空间可使用文件的自由空间,用以增加记录或者改变记录的长度。2022-1-31测试2022-1-31测试2022-1-31操作VSAM的实用程序-IDCAMS参考红皮书:OSDFSMS Access Method Services for Catalogs, SC26-7394-032022-1-3148AMS访问方法
18、服务o AMS访问方法服务n 操作系统提供的实用程序,主要用来管理和维护VSAM 数据集,同时AMS 也可以对非VSAM 数据集进行操作。集成编目访问方法服务(简称IDCAMS)是VSAM AMS 实用程序的名称。o IDCAMS的功能n (1)定义主编目和用户编目;n (2)定义VSAM 数据集;n (3)显示VSAM 数据集的记录;n (4)对VSAM 数据集执行备份操作;n (5)显示编目中的记录;n (6)删除数据集等。2022-1-31AMS访问方法服务oIDCAMS的功能命令(一)DEFINE 用来定义编目,数据集,次索引数据集和路径等。(二)DELETE 用来删除DEFINE 命
19、令所建的编目,数据集,次索引数据集和路径。(三)ALTER 更改编目中有关数据集属性的记录或原先所设定的参数。(四)BLDINDEX 用来建次索引数据集。(五)LISTCAT 显示编目中的信息。(六)PRINT 显示VSAM 数据集的记录。(七)REPRO 复制数据集记录;产生编目的备用数据集;将顺序数据集转换成VSAM 数据集;或者将VSAM 数据集转换成顺序数据集;将记录写入VSAM 数据集和重组VSAM 数据集的组织。(八)EXPORT 将VSAM 数据集或者编目中的记录进行导出操作;(九)IMPORT 将利用EXPORT 命令所产生的记录导入VSAM 数据集;IDCAMS Define
20、 Listcat Repro Print Delete2022-1-31AMS访问方法服务o IDCAMS的功能命令格式n AMS命令的区域是从第2列到第72列n 续行标志为连接符+或者-n 注释的格式为/* */2022-1-31IDCAMS操作-DEFINE一. DEFINE MASTERCATALOGDEFINE MASTERCATALOG(parameters)DATA (parameters)INDEX (parameters)CATALOG (parameters)二 DEFINE USERCATALOGDEFINE MASTERCATALOG(parameters)DATA (p
21、arameters)INDEX (parameters)CATALOG (parameters)三DEFINE CLUSTERDEFINE CLUSTER( NAME ( entryname )CYCINDERS ( primary secondary ) |RECORDS ( primary secondary ) FREESPACE ( cipercent capercent ) CISZ ( ) INDEXED | NONINDEXED | NUMBERED | LINEAR KEYS ( LENGRH OFFSET ) RECORDSIZE ( average maximum ) RE
22、COVERY | SPEED SHAROPTIONS ( crosspartition cross system ) VOLUMES ( volser volser ) )DATA(NAME(entryname ) ) INDEX(NAME(entryname ) ) CATALOG ( mastercatname / password ) )2022-1-31CI大小和CA大小讨论oCI的大小可以在Define时指定(CISZ)oCI和CA Free Space也可以在Define时指定(FREESPACE)oCA的大小不能直接指定,而是由以下因素决定n取Primary Quantity和S
23、econdary Quantity较小的值n最小为1Trackn最大为1Cylindero一般CA大小为整数个Track,或者1个Cylindero1个Track中一般包含整数个CI,具体数目可以根据CI的大小查表得到2022-1-31IDCAMS操作-DEFINE新建VSAM数据集nVSAM数据集名字nVSAM数据集类型n分配空间wherehow muchnVSAM数据集属性oData organization nindexed/linear/nonindexed/numbered/modelnksds lds esds rrdsoData set namenname()oAllocatio
24、nncylinders/tracks/records/kilobytes/megabytesn(primary-quantity secondary-quantity)nvolumes(vol1 vol2 vol3)oAttributesncontrolintervalsizenbufferspacenrecordsize(average-lengh maximum-length)nspanned/nonspannednreuse/nonreuseDefine Cluster( ) - data ( ) - index ( ) - catalog ( ) 2022-1-31例子-ESDS/TE
25、02A JOB ACCT#,TRAINER,CLASS=A,NOTIFY=&SYSUID, / MSGCLASS=X,MSGLEVEL=(1,1) /STEP1 EXEC PGM=IDCAMS /SYSPRINT DD SYSOUT=* /SYSIN DD * DELETE TE02.VSAM.ESDS1 SET MAXCC = 0 DEFINE CLUSTER - (NAME(TE02.VSAM.ESDS1) - NONINDEXED - VOLUME(USER02) - RECORDS(100,10) - RECORDSIZE(10 20) - CONTROLINTERVALSIZ
26、E(4096) / 2022-1-31例子-KSDS/TE02A JOB ACCT#,TRAINER,CLASS=A,NOTIFY=&SYSUID, / MSGCLASS=X,MSGLEVEL=(1,1) /STEP1 EXEC PGM=IDCAMS /SYSPRINT DD SYSOUT=* /SYSIN DD * DELETE TE02.VSAM.KSDS1 SET MAXCC = 0 DEFINE CLUSTER - (NAME(TE02.VSAM.KSDS1) - INDEXED - VOLUME(USER02) - RECORDS(100,10) - RECORDSIZE(1
27、0 20) - CONTROLINTERVALSIZE(4096) - KEYS(1,1) / 2022-1-31例子-RRDS/TE02A JOB ACCT#,TRAINER,CLASS=A,NOTIFY=&SYSUID, / MSGCLASS=X,MSGLEVEL=(1,1) /STEP1 EXEC PGM=IDCAMS /SYSPRINT DD SYSOUT=* /SYSIN DD * DELETE TE02.VSAM.RRDS1 SET MAXCC = 0 DEFINE CLUSTER - (NAME(TE02.VSAM.RRDS1) - NUMBERED - VOLUME(U
28、SER02) - RECORDS(50000,1000) - RECORDSIZE(20 20) - CONTROLINTERVALSIZE(4096) / 2022-1-31例子-KSDSo 例子说明: 创建一个KSDS 类型的VSAM 数据集,这个数据集的名字为STUD11.TEST.KSDS,分配的单位为RECORDS,初始量为3000,追加量为100。 数据集记录为定长格式,记录长度为80 个字节,KEY的长度为5 个字节,偏移量为42022-1-31IDCAMS操作-REPRO2022-1-31IDCAMS操作-REPROo REPRO with INFILE/INDATASET/O
29、UTFILE/OUTDATASET/STEP1 EXEC PGM=IDCAMS/SYSPRINT DD SYSOUT=*/MASTER DD DSN=TE02.KSDSSCR,DISP=OLD/BKUP DD DSN=TE02.KSDSBKUP,DISP=(NEW,CATLG) /SYSIN DD * REPRO INFILE(MASTER) OUTFILE(BKUP)/STEP1 EXEC PGM=IDCAMS/SYSPRINT DD SYSOUT=*/SYSIN DD * REPRO INDATASET(TE02.KSDSSCR) OUTDATASET(TE02.KSDSBUKP)2022
30、-1-31IDCAMS操作-PRINTo PRINT命令格式2022-1-31例子-PRINT/TE02A JOB ACCT#,TRAINER,CLASS=A,NOTIFY=&SYSUID, / MSGCLASS=X,MSGLEVEL=(1,1) /STEP1 EXEC PGM=IDCAMS /SYSPRINT DD SYSOUT=* /SYSIN DD * DELETE TE02.VSAM.KSDS1 SET MAXCC = 0 DEFINE CLUSTER - (NAME(TE02.VSAM.KSDS1) - INDEXED - VOLUME(USER01) - RECORDS(4
31、000,100) - RECORDSIZE(80 80) - CONTROLINTERVALSIZE(4096) - KEYS(5,4) IF LASTCC=0 THEN - DO REPRO INDATASET(TE02.VSAM.DATA) - OUTDATASET(TE02.VSAM.KSDS1) IF LASTCC=0 THEN - DO LISTCAT ENT(TE02.VSAM.KSDS1) ALL PRINT INDATASET(TE02.VSAM.KSDS1) DUMP - FROMKEY(00100) TOKEY(00300) IF LASTCC=0 THEN - DO LI
32、STCAT ENT(TE02.VSAM.KSDS1) ALL END END ELSE - LISTCAT ENT(TE02.VSAM.KSDS1) ALL END /2022-1-31IDCAMS操作-DELETE2022-1-31例子-DELETE/TE02A JOB ACCT#,TRAINER,CLASS=A,NOTIFY=&SYSUID, / MSGCLASS=X,MSGLEVEL=(1,1) /STEP1 EXEC PGM=IDCAMS /SYSPRINT DD SYSOUT=* /SYSIN DD * DELETE TE02.VSAM.KSDS1 SET MAXCC = 0
33、 DEFINE CLUSTER - (NAME(TE02.VSAM.KSDS1) - INDEXED - VOLUME(USER01) - RECORDS(4000,100) - RECORDSIZE(80 80) - CONTROLINTERVALSIZE(4096) - KEYS(5,4) IF LASTCC=0 THEN - DO REPRO INDATASET(TE02.VSAM.DATA) - OUTDATASET(TE02.VSAM.KSDS1) IF LASTCC=0 THEN - DO LISTCAT ENT(TE02.VSAM.KSDS1) ALL PRINT INDATAS
34、ET(TE02.VSAM.KSDS1) DUMP - FROMKEY(00100) TOKEY(00300) IF LASTCC=0 THEN - DO LISTCAT ENT(TE02.VSAM.KSDS1) ALL END END ELSE - LISTCAT ENT(TE02.VSAM.KSDS1) ALL END /2022-1-31IDCAMS if then elseoIF COMMAND SYNTAXIF LASTCC | MAXCC OPERATOR NUMBERTHEN - COMMANDELSE - COMMANDIF LASTCC | MAXCC OPERATOR NUM
35、BERTHEN - DO COMMAND COMMAND ENDELSE - DO COMMAND COMMAND END2022-1-31例子-IF-THEN-ELSE/TE02A JOB ACCT#,TRAINER,CLASS=A,NOTIFY=&SYSUID, / MSGCLASS=X,MSGLEVEL=(1,1) /STEP1 EXEC PGM=IDCAMS /SYSPRINT DD SYSOUT=* /SYSIN DD * DELETE TE02.VSAM.KSDS1 SET MAXCC = 0 DEFINE CLUSTER - (NAME(TE02.VSAM.KSDS1) - INDEXED - VOLUME(USER01) - RECORDS(4000,100) - RECORDSIZE(80 80) - CONTROLINTERVAL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 痘肌专用茶树洁面乳行业跨境出海战略研究报告
- 平喘化痰中药注射液行业跨境出海战略研究报告
- 牙科综合治疗机升级行业跨境出海战略研究报告
- 智能家居展示中心企业制定与实施新质生产力战略研究报告
- 大堂及公共区域绿植布置行业跨境出海战略研究报告
- 领导去新单位发言稿
- 生物类似药生产行业跨境出海战略研究报告
- 普通住宅销售服务AI应用企业制定与实施新质生产力战略研究报告
- 2024年新疆维吾尔自治区地质局所属单位招聘事业单位工作人员笔试真题
- 湖南省长沙市2025届高三一模语文试题及参考答案
- 2023年郑州黄河文化旅游发展有限公司招聘考试真题
- 中国出口新动能和企业外贸信心指数报告 202411
- 城镇燃气经营安全重大隐患判定及燃气安全管理专题培训
- 神经内科医生进修汇报课件
- 充电桩巡查记录表
- 2024年浙江省中考历史真题(解析版)
- 2024年江苏省南京外国语丘班、南京一中数理人才班特长生招生数学试卷
- 2024年税务系统职业技能竞赛试题库-非税收入管理
- 4.1.1 小数的意义(课件)-2023-2024学年四年级下册数学人教版
- DL∕T 1631-2016 并网风电场继电保护配置及整定技术规范
- 人工智能创新创业课程智慧树知到期末考试答案章节答案2024年佳木斯大学
评论
0/150
提交评论