VSAMOverview
VSAM (Virtual Storage Access Method )VSAM is an integral part of MVS. At the end of this course,  you, the user, will know...
Access Methods   An access method defines the technique by which data is    stored and retrieved. The different types of ...
What is VSAM?   VSAM is Virtual Storage Access Method   It is a method used to move data between Disk and Main    Storag...
VSAM   VSAM acts as interface between      Operating System and Application Program                              V      ...
VSAM    Interface between Main Storage and Disk                            V                            SMain Storage    ...
File access methods   Data (Records) is retrieved      Sequential (Reading from beginning to end)      Random (Records ...
Traditional access methods   QSAM (Queried Sequential Access Method)   BSAM (Basic Sequential Access Method)      for ‘...
VSAM Dataset TypesEntry Sequenced Dataset (ESDS)   ESDS contains records in the order in which they are entered. Records ...
VSAM data set organization   VSAM Data Set can contain three major components      CLUSTER (Catalog entry)      INDEX  ...
VSAM internals   CONTROL INTERVAL (CI)   VSAM stores Data and Index in Control Intervals (CI)   CI is similar to ‘Block...
CONTROL INTERVAL   CI is the unit of retrieval between DASD and I/O Buffer (Virtual    Storage)         DASD             ...
Control Interval   CI contains      Records (or DATA)      Free space (Optional)      Control Information Definition F...
Building blocks of a VSAM Dataset      Logical Record         Logical records of VSAM data sets are stored in a different...
CONTROL INTERVAL    CIDF & RDF are VSAM control functions    Used by VSAM to access data                                ...
CONTROL AREAControl Area   CIs are grouped into CA   The control intervals in a VSAM data set are grouped together    in...
Cluster         VSAM datasets are defined as             Highest Index Set          Clusters.                            ...
Control Interval Split                                           CA-1 (CI-1 to CI-3) - Before split   When a data set is ...
Control Area Split   Now, if record ‘1025’ is inserted, there is no free control    interval for a CI split to occur. Hen...
Types of VSAM data sets   ESDS        Entry Sequenced Data Set   KSDS        Key Sequenced Data Set   RRDS        Relat...
ORGANIZATION     SEQUENTIAL => ESDS     INDEXED     => KSDS     RELATIVE => RRDS      ACCESS MODE OPTIONSESDS : SEQUENTIAL...
Access Method Services (AMS)   Access Method Services is a service program that helps you to    allocate and maintain VSA...
INVOKING ACCESSMETHODIDCAMS UTLITY
Defining a VSAM Cluster   The Define Cluster command is used to allocate VSAM data sets. The basic information    require...
Sample JCL to create an ESDS cluster//LEM0UXXA JOB   MSGCLASS=Q,CLASS=Q,NOTIFY=&SYSUID//DEFKSDS EXEC PGM=IDCAMS           ...
COBOL AND ESDSOVERVIEW
ESDS   Similar to Sequential File   Sequenced by the order in which data is entered/loaded   New Records are added at t...
ESDS (Contd...)   Only sequential access in Batch Cobol Programs   Random access is supported in on-line applications (C...
RBA   Record location relative to the beginning of the file    (Relative Byte Address)                                   ...
FILE-CONTROL ParagraphFormat:SELECT [OPTIONAL] File-name-1 ASSIGN TO AS-Assignment-name-1                           SEQUEN...
ESDS   ORGANIZATION IS SEQUENTIAL   ACCESS MODE IS SEQUENTIAL                        INPUT    OUTPUT   INPUT-   EXTEND  ...
VSAM === ESDSORGANIZATION IS SEQUENTIAL.ACCESS MODE = SEQUENTIAL OVERVIEW
CREATING ESDS
Writing Data in ESDS
Writing Data in ESDS
Writing Data in ESDS
RUNNING A PROGRAM
View the data from ESDSREPRO COMMAND
PRINT ESDS EXAMPLEOverview
PRINT ESDS
PRINT ESDS
PRINT ESDS
KSDS (KEY SEQUENTIALDATA SET )
Sample JCL to create a KSDS cluster                                                   KEYS(N1,N2)//LEM0UXXA JOB MSGCLASS=Q...
SELECT & ASSIGN SyntaxENVIRONMENT DIVISION.INP UT- OUT P UTSECT ION.FILE - CONT ROL.      SELECT [OP T IONAL FileName     ...
READ statementREAD FileName RECORD INTO DestItem      KEY IS KeyName      INVALID KEY StatementBlockEND   READREAD FileNam...
WRITE & REWRITE statementWRITE RecName FROM SourceItem      INVALID KEY StatementBlockEND   WRITEREWRITE RecName FROM Sour...
KSDS   ORGANIZATION IS INDEXED   ACCESS MODE IS SEQUENTIAL                        INPUT   OUTPUT   INPUT-               ...
INDEX FILEORGANIZATION IS INDEXED.ACCESS MODE = SEQUENTIAL OVERVIEW
CREATING KSDS
WRITING A KSDS
WRITING A KSDS
WRITING KSDS
RUNNING A KSDS
Running a KSDS
READING INDEX FILE-KSDSORGANIZATION IS INDEXED.ACCESS MODE = SEQUENTIAL OVERVIEW
READING A KSDS
READING A KSDS FILE
EXECUTE A PROGRAM FOR READING DATAFROM KSDS
SPOOL OUTPUT
SPOOL OUTPUT
START & DELETE statement                       IS EQUAL TO                       IS =                       IS GREATER THA...
START :Position a Record
START COMMAND
START COMMAND
DELETE COMMAND
DELETE COMMAND
EXECUTE A PROGRAM AFTER COMPILE
PRINT THE KSDS DATASET
PRINT THE KSDS
KSDSORGANIZATION IS INDEXEDACCESS MODE IS RANDOM
KSDS   ORGANIZATION IS INDEXED   ACCESS MODE IS RANDOM                      INPUT   OUTPUT   INPUT-                     ...
KSDS – RANDOM- WRITE
KSDS – Random -WRITE
KSDS –RANDOM MODEREAD OperationOverview
KSDS – RANDOM -READ
KSDS – RANDOM -READ
KSDSORGANIZATION IS INDEXEDACCESS MODE IS DYNAMIC
KSDS   ORGANIZATION IS INDEXED   ACCESS MODE IS DYNAMIC                       INPUT   OUTPUT   INPUT-                   ...
KSDS- DYNAMIC MODEWRITE OPERATIONOverview
KSDS –DYNAMIC- WRITE
KSDS –DYNAMIC-WRITE
KSDS –DYNAMIC-READ
KSDS-DYNAMIC-READ
RRDSOverview
Sample JCL to create an RRDS cluster//LEM0UXXA JOBMSGCLASS=Q,CLASS=Q,NOTIFY=&SYSUID//DEFRRDS EXEC PGM=IDCAMS              ...
RELATIVE-RANDOM-WRITE
RELATIVE-RANDOM-WRITE
RELATIVE-RANDOM-READ
RELATIVE-RANDOM-READ
RANDOM READ JCL
SPOOL OUTPUT
RELATIVE-DYNAMIC-READ
RELATIVE-DYNAMIC-READ
RELATIVE-DYNAMIC-READ
ALTERNATE INDEXOverview
ALTERNATE INDEXES   Used whenever the data is required to be retrieved on the basis of m    than one fieldEMPNO       ENA...
ALTERNATE INDEXESReduce   data redundancyCan have duplicatesEasy to define using IDCAMSAllow datasets to be accessed s...
Disadvantages   Performance degradation   Complex update logic
Steps for Creating Alternate Index   Define AIX using IDCAMS DEFINE AIX   Specify Alternate Index Path using IDCAMS DEFI...
Sample JCL to create an AIX cluster                                                    UPGRADE-> VSAM AUTOMATIC           ...
UPGRADE/NOUPGRADE• Syntax : UPGRADE/NOUPGRADE• UPGRADE specifies that records  in AIX are to be updated• automatically whe...
BUILDING AN INDEXOverview
BUILD INDEX//JOB CARD//STEP1 EXEC PGM=IDCAMS//SYSPRINT DD SYSOUT=*                                                   BUILD...
PATH AND ALTERNATEINDEXOverview
DEFINE PATH//JOB CARD//STEP1 EXEC PGM = IDCAMS             Path Establishes//SYSPRINT DD SYSOUT=*                A Bridge ...
ALTERNATE IndexExample
Define BASE CLUSTER
LOADING DATA INTO BASE CLUSTER
LOADING DATA INTO BASE CLUSTER
LOADING DATA INTO BASE CLUSTER
EXECUTING A PROGRAM TO LOAD DATA
EXECUTING A PROGRAM TO LOAD DATA
DEFINING AIX                      RECORDSIZE(N1,N2)               N1= LENGTH OF BASE CLUSTER KEY(3)               + LENGTH...
Build index
Create path for Bridge
READING RECORDS BY ALTERNATE INDEX
READING RECORD BY ALTERNATE KEY
READING RECORD BY ALTERNATE KEY
EXECUTE A READ PROGRAM BY ALTERNATEKEY                             DD1-> BASE CLUSTER                              DD11-> ...
SPOOL OUTPUT
IDCAMS REPRO
IDCAMS REPRO KEY BASED
IDCAMS REPRO RELATIVE
IDCAMS LISTCAT
SPOOL OUTPUT
IDCAMS DELETE
Upcoming SlideShare
Loading in …5
×

Vsam presentation PPT

5,140
-1

Published on

Published in: Education, Technology
3 Comments
5 Likes
Statistics
Notes
No Downloads
Views
Total Views
5,140
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
427
Comments
3
Likes
5
Embeds 0
No embeds

No notes for slide

Vsam presentation PPT

  1. 1. VSAMOverview
  2. 2. VSAM (Virtual Storage Access Method )VSAM is an integral part of MVS. At the end of this course, you, the user, will know VSAM in detail. know the different types of VSAM data sets be able to create, delete and alter VSAM data sets, with indexes and alternate indexes know the organization of VSAM data sets
  3. 3. Access Methods An access method defines the technique by which data is stored and retrieved. The different types of dataset organizations in MVS are: Physical Sequential Partitioned Indexed Sequential Direct VSAM
  4. 4. What is VSAM? VSAM is Virtual Storage Access Method It is a method used to move data between Disk and Main Storage VSAM operates in Virtual Environment
  5. 5. VSAM VSAM acts as interface between  Operating System and Application Program V Request S Reply OperatingApplication A System M
  6. 6. VSAM  Interface between Main Storage and Disk V SMain Storage DATA A DATA Disk M
  7. 7. File access methods Data (Records) is retrieved  Sequential (Reading from beginning to end)  Random (Records are read by the value in the key)  Direct (Records are read based on their physical location/address on disk) VSAM provides all these methods One access method supporting all types of data retrieval
  8. 8. Traditional access methods QSAM (Queried Sequential Access Method) BSAM (Basic Sequential Access Method)  for ‘flat’ files ISAM (Index Sequential Access Method)  for Index files BDAM (Basic Direct Access Method)  for direct access files
  9. 9. VSAM Dataset TypesEntry Sequenced Dataset (ESDS) ESDS contains records in the order in which they are entered. Records are added to the end of the data set, and can be accessed sequentially.Key Sequenced Dataset (KSDS) KSDS contains records in ascending collating sequence. Records can be accessed by a field called a key, or by a relative byte address (RBA - relative position of the record from the beginning of the dataset), or sequentially.Linear Dataset (LDS) LDS contains data that has no record boundaries. The manipulation of the data is completely controlled by the user.Relative Record Dataset (RRDS) RRDS contains records in the order of relative record number. These records can be accessed only by this number.
  10. 10. VSAM data set organization VSAM Data Set can contain three major components  CLUSTER (Catalog entry)  INDEX  DATA (Actual data) Data Set is referred by cluster name in JCL INDEX CLUSTER DATA
  11. 11. VSAM internals CONTROL INTERVAL (CI) VSAM stores Data and Index in Control Intervals (CI) CI is similar to ‘Block’ CI Record Record .......
  12. 12. CONTROL INTERVAL CI is the unit of retrieval between DASD and I/O Buffer (Virtual Storage) DASD I/O Buffer CI R1 R2 R3 R1 R2 R3
  13. 13. Control Interval CI contains  Records (or DATA)  Free space (Optional)  Control Information Definition Field (CIDF)  Record Definition field (RDF)
  14. 14. Building blocks of a VSAM Dataset Logical Record  Logical records of VSAM data sets are stored in a different manner from logical records in non-VSAM data sets. VSAM stores records in control intervals. Control Interval (CI) A control interval consists of the following:  Logical records (LR)  Free space (FS)  Control information fields LR LR LR LR..FS....FS...RDF CIDF Free Space is the space reserved within the CI for inserting new records in a KSDS or for lengthening the existing records.
  15. 15. CONTROL INTERVAL  CIDF & RDF are VSAM control functions  Used by VSAM to access data R R CR1 R2 Free D I R3 D Space F D F F3 bytes, Length of RecordHow many successiverecords have same length 4 bytes long, One per CI Indicates Free space, where and how much
  16. 16. CONTROL AREAControl Area CIs are grouped into CA The control intervals in a VSAM data set are grouped together into Control Areas. A VSAM data set is actually composed of one or more control areas. The maximum size of a control area is a cylinder, and the minimum size is one track.Control Area(CA) LR LR LR LR.. FS....FS... RDF CIDF LR LR LR LR.. FS....FS... RDF CIDF LR LR LR LR.. FS....FS... RDF CIDF
  17. 17. Cluster  VSAM datasets are defined as Highest Index Set Clusters. 2210 5000  A Cluster is a combination of the data component and the index Index Set component. 1055 1600 FS 5000 FS FS  The Index component is applicable only in the case of a KSDS. Sequence Set  The data component holds data 1010 1055 FS 1350 1600 FS records.  The index component holds the index records to access the required DATA COMPONENT (CA1) information from the data component 1300 1305 1310 1350 FS 1400 1410 1415 1600 FSData Component (CA2) FS FS FS FS FS 1001 1002 1005 1010 FS 1020 1022 1030 1055 FS FS FS FS FS FS
  18. 18. Control Interval Split CA-1 (CI-1 to CI-3) - Before split When a data set is first loaded, the key sequence of records and 1001 1002 1005 1010 FS their physical order are the same. However, when records are 1020 1022 1030 1055 FS inserted, control interval split can occur, causing the data control intervals to have a physical order FS FS FS FS that is different from the key sequence. For example, try to insert 1004 CA-1 (CI-1 to CI-3) - After split in CI-1 shown below : A Control Interval Split occurs 1001 1002 1004 FS and CI-1 is split exactly into two half CIs. CI-3, which is a free 1020 1022 1030 1055 FS control interval is used, and some logical records of CI-1 are moved into CI-3. CI-3 is placed after CI- 1005 1010 FS FS 2 and it is not inserted in between CI-1 and CI-2.
  19. 19. Control Area Split Now, if record ‘1025’ is inserted, there is no free control interval for a CI split to occur. Hence, a CA (control area) split occurs. The CA-1 is split into two half control areas; some of the Control intervals of CA-1 are moved into the newly created CA (CA-2). CA-1 (CI-1 to CI-3) - After split 1001 1002 1004 FS 1020 1022 FS FS FS FS FS FS FS CA-2 (CI-1 to CI-3) 1025 1030 1055 FS 1005 1010 FS FS FS FS FS FS
  20. 20. Types of VSAM data sets ESDS Entry Sequenced Data Set KSDS Key Sequenced Data Set RRDS Relative Record Data Set LDS Linear Data Set
  21. 21. ORGANIZATION SEQUENTIAL => ESDS INDEXED => KSDS RELATIVE => RRDS ACCESS MODE OPTIONSESDS : SEQUENTIALKSDS : SEQUENTIAL or RANDOM or DYNAMICRRDS: SEQUENTIAL or RANDOM or DYNAMIC
  22. 22. Access Method Services (AMS) Access Method Services is a service program that helps you to allocate and maintain VSAM data sets and catalogs. IDCAMS is the name of the utility program used to perform the following operations on VSAM data sets.  Creating a Data set  Loading a VSAM data set.  Printing a Data set  Deleting a Data set  Error Detection for KSDS Data set  Creating Generation Data Groups (GDG) etc.
  23. 23. INVOKING ACCESSMETHODIDCAMS UTLITY
  24. 24. Defining a VSAM Cluster The Define Cluster command is used to allocate VSAM data sets. The basic information required for defining a VSAM data set is: Name of the cluster. Volume(s) on which the data set will be allocated. Type of data set (KSDS, ESDS, RRDS or LDS). Space needed for the data set. For a KSDS, the length of the key and its offset from the beginning of the record. Record size, and whether it is fixed or variable in length. Control interval size. CI and CA Free Space. The following keywords have to be used to define the different types of VSAM data sets:  NONINDEXED for ESDS.  INDEXED for KSDS.  NUMBERED for RRDS.  LINEAR for LDS.
  25. 25. Sample JCL to create an ESDS cluster//LEM0UXXA JOB MSGCLASS=Q,CLASS=Q,NOTIFY=&SYSUID//DEFKSDS EXEC PGM=IDCAMS NONINDEXED - ESDS//SYSPRINT DD SYSOUT=*//SYSIN DD * DEFINE CLUSTER(NAME(LEM0UXX.TEST.ESDS) - VOLUMES(LEM001) - RECORDSIZE(N1,N2) NONINDEXED - TRACKS(2,1) - N1=> AVG RECL RECORDSIZE(50,50) - N2=> MAX RECL CONTROLINTERVALSIZE(4096) - FREESPACE(10,20)) - DATA(NAME(LEM0UXX.TEST.ESDS.DATA))/* Freespace(PCT1,PCT2) PCT1=> PCT FREE SPACE IN each CI PCT2=> PCT Of unused CI in CA
  26. 26. COBOL AND ESDSOVERVIEW
  27. 27. ESDS Similar to Sequential File Sequenced by the order in which data is entered/loaded New Records are added at the end only (chronological order) Supports both Fixed and Variable formats Contains only CLUSTER & DATA components
  28. 28. ESDS (Contd...) Only sequential access in Batch Cobol Programs Random access is supported in on-line applications (CICS) using Relative Byte Address (RBA) Alternate Index is supported in on-line applications (CICS) NO primary index
  29. 29. RBA Record location relative to the beginning of the file (Relative Byte Address) CI R1 R2 R3 80 40 60 RBA of R1 is 80
  30. 30. FILE-CONTROL ParagraphFormat:SELECT [OPTIONAL] File-name-1 ASSIGN TO AS-Assignment-name-1 SEQUENTIAL[ ORGANIZATION IS INDEXED RELATIVE SEQUENTIAL[ACCESS MODE IS RANDOM DYNAMIC[FILE STATUS IS Data-name-1]
  31. 31. ESDS ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL INPUT OUTPUT INPUT- EXTEND OUTPUT READ YES - YES - WRITE - YES YES DELETE REWRITE YES
  32. 32. VSAM === ESDSORGANIZATION IS SEQUENTIAL.ACCESS MODE = SEQUENTIAL OVERVIEW
  33. 33. CREATING ESDS
  34. 34. Writing Data in ESDS
  35. 35. Writing Data in ESDS
  36. 36. Writing Data in ESDS
  37. 37. RUNNING A PROGRAM
  38. 38. View the data from ESDSREPRO COMMAND
  39. 39. PRINT ESDS EXAMPLEOverview
  40. 40. PRINT ESDS
  41. 41. PRINT ESDS
  42. 42. PRINT ESDS
  43. 43. KSDS (KEY SEQUENTIALDATA SET )
  44. 44. Sample JCL to create a KSDS cluster KEYS(N1,N2)//LEM0UXXA JOB MSGCLASS=Q,CLASS=Q,NOTIFY=&SYSUID N1=> length of the Key(Bytes)//DEFKSDS EXEC PGM=IDCAMS N2=> is starting byte position//SYSPRINT DD SYSOUT=* of Key in Record//SYSIN DD * DEFINE CLUSTER(NAME(LEM0UXX.TEST.KSDS) - RECORDSIZE(N1,N2) VOLUMES(LEM001) - N1=> AVG RECL TRACKS(2,1) - N2=> MAX RECL INDEXED - KEYS(9,0) - INDEXED - KSDS RECORDSIZE(50,50) - CONTROLINTERVALSIZE(4096) - Freespace(PCT1,PCT2) FREESPACE(10,20)) - PCT1=> PCT FREE SPACE IN each CI DATA(NAME(LEM0UXX.TEST.KSDS.DATA)) - PCT2=> PCT Of unused CI in CA INDEX((NAME(LEM0UXX.TEST.KSDS.INDEX))
  45. 45. SELECT & ASSIGN SyntaxENVIRONMENT DIVISION.INP UT- OUT P UTSECT ION.FILE - CONT ROL. SELECT [OP T IONAL FileName ] ASSIGN T O FileSpec ORGANIZAT I IS INDEXED ON SEQUENT IAL ACCESS MODE IS RANDOM DYNAMIC RECORD KEY IS UniqueRecKey ALT ERNAT ERECORD KEY IS AltKey WIT HDUP LICAT ES FILE ST AT US IS FileStatus
  46. 46. READ statementREAD FileName RECORD INTO DestItem KEY IS KeyName INVALID KEY StatementBlockEND READREAD FileName NEXT RECORD INTO DestItem AT END StatementBlockEND READ
  47. 47. WRITE & REWRITE statementWRITE RecName FROM SourceItem INVALID KEY StatementBlockEND WRITEREWRITE RecName FROM SourceItem INVALID KEY StatementBlockEND REWRITE
  48. 48. KSDS ORGANIZATION IS INDEXED ACCESS MODE IS SEQUENTIAL INPUT OUTPUT INPUT- OUTPUT READ YES - YES WRITE - YES DELETE YES REWRITE YES START YES YES
  49. 49. INDEX FILEORGANIZATION IS INDEXED.ACCESS MODE = SEQUENTIAL OVERVIEW
  50. 50. CREATING KSDS
  51. 51. WRITING A KSDS
  52. 52. WRITING A KSDS
  53. 53. WRITING KSDS
  54. 54. RUNNING A KSDS
  55. 55. Running a KSDS
  56. 56. READING INDEX FILE-KSDSORGANIZATION IS INDEXED.ACCESS MODE = SEQUENTIAL OVERVIEW
  57. 57. READING A KSDS
  58. 58. READING A KSDS FILE
  59. 59. EXECUTE A PROGRAM FOR READING DATAFROM KSDS
  60. 60. SPOOL OUTPUT
  61. 61. SPOOL OUTPUT
  62. 62. START & DELETE statement IS EQUAL TO IS = IS GREATER THANSTART FileName KEY KeyName IS > IS NOT LESS THAN IS NOT < INVALID KEY StatementBlockEND STARTDELETE FileName RECORD INVALID KEY StatementBlockEND DELETE
  63. 63. START :Position a Record
  64. 64. START COMMAND
  65. 65. START COMMAND
  66. 66. DELETE COMMAND
  67. 67. DELETE COMMAND
  68. 68. EXECUTE A PROGRAM AFTER COMPILE
  69. 69. PRINT THE KSDS DATASET
  70. 70. PRINT THE KSDS
  71. 71. KSDSORGANIZATION IS INDEXEDACCESS MODE IS RANDOM
  72. 72. KSDS ORGANIZATION IS INDEXED ACCESS MODE IS RANDOM INPUT OUTPUT INPUT- OUTPUT READ YES - YES WRITE - YES YES DELETE YES REWRITE YES START
  73. 73. KSDS – RANDOM- WRITE
  74. 74. KSDS – Random -WRITE
  75. 75. KSDS –RANDOM MODEREAD OperationOverview
  76. 76. KSDS – RANDOM -READ
  77. 77. KSDS – RANDOM -READ
  78. 78. KSDSORGANIZATION IS INDEXEDACCESS MODE IS DYNAMIC
  79. 79. KSDS ORGANIZATION IS INDEXED ACCESS MODE IS DYNAMIC INPUT OUTPUT INPUT- OUTPUT READ YES - YES WRITE - YES YES DELETE YES REWRITE YES START YES YES
  80. 80. KSDS- DYNAMIC MODEWRITE OPERATIONOverview
  81. 81. KSDS –DYNAMIC- WRITE
  82. 82. KSDS –DYNAMIC-WRITE
  83. 83. KSDS –DYNAMIC-READ
  84. 84. KSDS-DYNAMIC-READ
  85. 85. RRDSOverview
  86. 86. Sample JCL to create an RRDS cluster//LEM0UXXA JOBMSGCLASS=Q,CLASS=Q,NOTIFY=&SYSUID//DEFRRDS EXEC PGM=IDCAMS NUMBERED - RRDS//SYSPRINT DD SYSOUT=*//SYSIN DD * DEFINE CLUSTER(NAME(LEM0UXX.TEST.RRDS) - RECORDSIZE(N1,N2) VOLUMES(LEM001) - N1=> AVG RECL NUMBERED - N2=> MAX RECL TRACKS(2,1) - RECORDSIZE(50,50) - CONTROLINTERVALSIZE(4096) - Freespace(PCT1,PCT2) FREESPACE(10,20)) - PCT1=> PCT FREE SPACE IN each CI DATA(NAME(LEM0UXX.TEST.RRDS.DATA)) PCT2=> PCT Of unused CI in CA/*
  87. 87. RELATIVE-RANDOM-WRITE
  88. 88. RELATIVE-RANDOM-WRITE
  89. 89. RELATIVE-RANDOM-READ
  90. 90. RELATIVE-RANDOM-READ
  91. 91. RANDOM READ JCL
  92. 92. SPOOL OUTPUT
  93. 93. RELATIVE-DYNAMIC-READ
  94. 94. RELATIVE-DYNAMIC-READ
  95. 95. RELATIVE-DYNAMIC-READ
  96. 96. ALTERNATE INDEXOverview
  97. 97. ALTERNATE INDEXES Used whenever the data is required to be retrieved on the basis of m than one fieldEMPNO ENAME SALARY101 RAJESH 5000102 RAMESH 6000103 RANDY 7000104 SURESH 8000 e.g., Can be defined for both KSDS & ESDSEMPNO IS ENAME ISBASE KEY ALTERNATE KEY
  98. 98. ALTERNATE INDEXESReduce data redundancyCan have duplicatesEasy to define using IDCAMSAllow datasets to be accessed sequentially orrandomlyCan be updated automatically
  99. 99. Disadvantages Performance degradation Complex update logic
  100. 100. Steps for Creating Alternate Index Define AIX using IDCAMS DEFINE AIX Specify Alternate Index Path using IDCAMS DEFINE PATH Build AIX & populate it using IDCAMS BLDINDEX
  101. 101. Sample JCL to create an AIX cluster UPGRADE-> VSAM AUTOMATIC Updates the AIX for all ADD,UPDT,DEL of Base cluster//LEM0UXXA JOB MSGCLASS=Q,CLASS=Q,NOTIFY=&SYSUID//DEFKSDS EXEC PGM=IDCAMS UNIQUE /NONUNIQUE//SYSPRINT DD SYSOUT=*//SYSIN DD * DEFINE AIX (NAME(LEM0UXX.TEST.AIX.CLUSTER) – KEY ( N1,N2) RELATE (LEM0UXX.INFILE.KSDS) - N1-> LENGTH OF AIX key VOLUMES(LEM001) - KEY (10, 35) - N2-> KEYS start Loc in BASE CLUSTERTRACKS(2,1) -NONUNIQUEKEY - RECORDSIZE(N1,N2)RECORDSIZE(49,49) - N1=> AVG RECLUPGRADECONTROLINTERVALSIZE(4096) - N2=> MAX RECLFREESPACE(10,20)) -DATA(NAME(LEM0UXX.TEST.AIX.DATA))INDEX(NAME(LEM0UXX.TEST.AIX.INDEX)) Freespace(PCT1,PCT2)/* PCT1=> PCT FREE SPACE IN each CI PCT2=> PCT Of unused CI in CA
  102. 102. UPGRADE/NOUPGRADE• Syntax : UPGRADE/NOUPGRADE• UPGRADE specifies that records in AIX are to be updated• automatically whenever the base cluster is updated
  103. 103. BUILDING AN INDEXOverview
  104. 104. BUILD INDEX//JOB CARD//STEP1 EXEC PGM=IDCAMS//SYSPRINT DD SYSOUT=* BUILD INDEX is used//SYSIN DD * To load records in BLDINDEX - INDATASET(LEM0UXX.KSDS.CLUSTER) - AIX after it has been def OUTDATASET(LEM0UXX.KSDS.AIX.CLUSTER) -/*
  105. 105. PATH AND ALTERNATEINDEXOverview
  106. 106. DEFINE PATH//JOB CARD//STEP1 EXEC PGM = IDCAMS Path Establishes//SYSPRINT DD SYSOUT=* A Bridge Between//SYSIN DD * BASE CLUSTER & AIX DEFINE PATH - ( NAME ( LEM0UXX.KSDS.PATH) – PATHENTRY(LEM0UXX.KSDS.AIX.CLUSTER) – UPDATE )/*//
  107. 107. ALTERNATE IndexExample
  108. 108. Define BASE CLUSTER
  109. 109. LOADING DATA INTO BASE CLUSTER
  110. 110. LOADING DATA INTO BASE CLUSTER
  111. 111. LOADING DATA INTO BASE CLUSTER
  112. 112. EXECUTING A PROGRAM TO LOAD DATA
  113. 113. EXECUTING A PROGRAM TO LOAD DATA
  114. 114. DEFINING AIX RECORDSIZE(N1,N2) N1= LENGTH OF BASE CLUSTER KEY(3) + LENGTH OF AIX KEY(5) + 5 for CI
  115. 115. Build index
  116. 116. Create path for Bridge
  117. 117. READING RECORDS BY ALTERNATE INDEX
  118. 118. READING RECORD BY ALTERNATE KEY
  119. 119. READING RECORD BY ALTERNATE KEY
  120. 120. EXECUTE A READ PROGRAM BY ALTERNATEKEY DD1-> BASE CLUSTER DD11-> PATH NAME DDNAME SHOULD BE IN ORD
  121. 121. SPOOL OUTPUT
  122. 122. IDCAMS REPRO
  123. 123. IDCAMS REPRO KEY BASED
  124. 124. IDCAMS REPRO RELATIVE
  125. 125. IDCAMS LISTCAT
  126. 126. SPOOL OUTPUT
  127. 127. IDCAMS DELETE
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×