SlideShare una empresa de Scribd logo
1 de 127
VSAM



Overview
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
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
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
VSAM

   VSAM acts as interface between
      Operating System and Application Program




                              V
               Request        S       Reply       Operating
Application
                              A                   System
                              M
VSAM

    Interface between Main Storage and Disk



                            V
                            S
Main Storage     DATA       A      DATA        Disk
                            M
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
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
VSAM Dataset Types

Entry 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.
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
VSAM internals

   CONTROL INTERVAL (CI)
   VSAM stores Data and Index in Control Intervals (CI)
   CI is similar to ‘Block’



                               CI



          Record                    Record       .......
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
Control Interval

   CI contains
      Records (or DATA)
      Free space (Optional)
      Control Information Definition Field (CIDF)
      Record Definition field (RDF)
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.
CONTROL INTERVAL

    CIDF & RDF are VSAM control functions
    Used by VSAM to access data

                                      R           R             C
R1    R2               Free                       D             I
              R3                      D
                       Space                      F             D
                                      F
                                                                F

3 bytes, Length of Record
How many successive
records have same length                  4 bytes long, One per CI
                                          Indicates Free space,
                                          where and how much
CONTROL AREA

Control 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
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        FS
Data Component (CA2)
                                                 FS       FS           FS            FS          FS
 1001 1002      1005   1010    FS
 1020 1022      1030   1055    FS
 FS       FS    FS     FS      FS
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 CI's. 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.
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
Types of VSAM data sets

   ESDS        Entry Sequenced Data Set
   KSDS        Key Sequenced Data Set
   RRDS        Relative Record Data Set
   LDS         Linear Data Set
ORGANIZATION

     SEQUENTIAL => ESDS
     INDEXED     => KSDS
     RELATIVE => RRDS

      ACCESS MODE OPTIONS

ESDS : SEQUENTIAL
KSDS : SEQUENTIAL or RANDOM or DYNAMIC
RRDS: SEQUENTIAL or RANDOM or DYNAMIC
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.
INVOKING ACCESS
METHOD



IDCAMS UTLITY
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.
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
COBOL AND ESDS



OVERVIEW
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
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
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
FILE-CONTROL Paragraph



Format:

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]
ESDS

   ORGANIZATION IS SEQUENTIAL
   ACCESS MODE IS SEQUENTIAL


                        INPUT    OUTPUT   INPUT-   EXTEND
                                          OUTPUT
              READ      YES      -        YES      -

              WRITE     -        YES               YES

              DELETE

              REWRITE                     YES
VSAM === ESDS

ORGANIZATION 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 ESDS



REPRO COMMAND
PRINT ESDS EXAMPLE



Overview
PRINT ESDS
PRINT ESDS
PRINT ESDS
KSDS (KEY SEQUENTIAL
DATA SET )
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))
SELECT & ASSIGN Syntax

ENVIRONMENT 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
READ statement

READ FileName RECORD INTO DestItem
      KEY IS KeyName
      INVALID KEY StatementBlock
END   READ




READ FileName NEXT RECORD     INTO DestItem
      AT END StatementBlock
END   READ
WRITE & REWRITE statement


WRITE RecName FROM SourceItem
      INVALID KEY StatementBlock
END   WRITE


REWRITE RecName FROM SourceItem
      INVALID KEY StatementBlock
END   REWRITE
KSDS

   ORGANIZATION IS INDEXED
   ACCESS MODE IS SEQUENTIAL


                        INPUT   OUTPUT   INPUT-
                                         OUTPUT
              READ      YES     -        YES

              WRITE     -       YES

              DELETE                     YES

              REWRITE                    YES

              START     YES              YES
INDEX FILE

ORGANIZATION 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-KSDS

ORGANIZATION IS INDEXED.
ACCESS MODE = SEQUENTIAL



 OVERVIEW
READING A KSDS
READING A KSDS FILE
EXECUTE A PROGRAM FOR READING DATA
FROM KSDS
SPOOL OUTPUT
SPOOL OUTPUT
START & DELETE statement


                       IS EQUAL TO
                       IS =
                       IS GREATER THAN
START FileName KEY                           KeyName
                       IS >
                       IS NOT LESS THAN
                       IS NOT <
                INVALID KEY StatementBlock
END START


DELETE FileName RECORD
    INVALID KEY StatementBlock
END DELETE
START :Position a Record
START COMMAND
START COMMAND
DELETE COMMAND
DELETE COMMAND
EXECUTE A PROGRAM AFTER COMPILE
PRINT THE KSDS DATASET
PRINT THE KSDS
KSDS
ORGANIZATION IS INDEXED
ACCESS MODE IS RANDOM
KSDS

   ORGANIZATION IS INDEXED
   ACCESS MODE IS RANDOM


                      INPUT   OUTPUT   INPUT-
                                       OUTPUT
            READ      YES     -        YES


            WRITE     -       YES      YES

            DELETE                     YES

            REWRITE                    YES

            START
KSDS – RANDOM- WRITE
KSDS – Random -WRITE
KSDS –RANDOM MODE
READ Operation



Overview
KSDS – RANDOM -READ
KSDS – RANDOM -READ
KSDS
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
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
KSDS- DYNAMIC MODE
WRITE OPERATION



Overview
KSDS –DYNAMIC- WRITE
KSDS –DYNAMIC-WRITE
KSDS –DYNAMIC-READ
KSDS-DYNAMIC-READ
RRDS



Overview
Sample JCL to create an RRDS cluster


//LEM0UXXA JOB
MSGCLASS=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
/*
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 INDEX



Overview
ALTERNATE INDEXES


   Used whenever the data is required to be retrieved on the basis of m
    than one field
EMPNO       ENAME        SALARY
101         RAJESH      5000
102         RAMESH      6000
103         RANDY       7000
104         SURESH      8000


   e.g.,           Can be defined for both KSDS & ESDS


EMPNO IS                          ENAME IS
BASE KEY                       ALTERNATE KEY
ALTERNATE INDEXES

Reduce   data redundancy
Can have duplicates
Easy to define using IDCAMS
Allow datasets to be accessed sequentially or
randomly
Can be updated automatically
Disadvantages

   Performance degradation
   Complex update logic
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
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 CLUSTER
TRACKS(2,1)          -
NONUNIQUEKEY             -                              RECORDSIZE(N1,N2)
RECORDSIZE(49,49)            -
                                                        N1=> AVG RECL
UPGRADE
CONTROLINTERVALSIZE(4096)            -                  N2=> MAX RECL
FREESPACE(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
UPGRADE/NOUPGRADE



• Syntax : UPGRADE/NOUPGRADE


• UPGRADE specifies that records
  in AIX are to be updated
• automatically whenever the
  base cluster is updated
BUILDING AN INDEX



Overview
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') -
/*
PATH AND ALTERNATE
INDEX



Overview
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 )
/*
//
ALTERNATE Index
Example
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 OF AIX KEY(5) + 5 for CI
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 ALTERNATE
KEY




                             DD1-> BASE CLUSTER

                              DD11-> PATH NAME

                          DDNAME SHOULD BE IN ORD
SPOOL OUTPUT
IDCAMS REPRO
IDCAMS REPRO KEY BASED
IDCAMS REPRO RELATIVE
IDCAMS LISTCAT
SPOOL OUTPUT
IDCAMS DELETE

Más contenido relacionado

La actualidad más candente

zOSMF SDSF_ShareLab_V2R5.pdf
zOSMF SDSF_ShareLab_V2R5.pdfzOSMF SDSF_ShareLab_V2R5.pdf
zOSMF SDSF_ShareLab_V2R5.pdfMarna Walle
 
Upgrade to IBM z/OS V2.4 planning
Upgrade to IBM z/OS V2.4 planningUpgrade to IBM z/OS V2.4 planning
Upgrade to IBM z/OS V2.4 planningMarna Walle
 
RACF - The Basics (v1.2)
RACF - The Basics (v1.2)RACF - The Basics (v1.2)
RACF - The Basics (v1.2)Rui Miguel Feio
 
DB2 for z/OS Architecture in Nutshell
DB2 for z/OS Architecture in NutshellDB2 for z/OS Architecture in Nutshell
DB2 for z/OS Architecture in NutshellCuneyt Goksu
 
Parallel Sysplex Implement2
Parallel Sysplex Implement2Parallel Sysplex Implement2
Parallel Sysplex Implement2ggddggddggdd
 
Z4R: Intro to Storage and DFSMS for z/OS
Z4R: Intro to Storage and DFSMS for z/OSZ4R: Intro to Storage and DFSMS for z/OS
Z4R: Intro to Storage and DFSMS for z/OSTony Pearson
 
Mainframe JCL Part - 1
Mainframe JCL Part - 1Mainframe JCL Part - 1
Mainframe JCL Part - 1janaki ram
 
DB2 and storage management
DB2 and storage managementDB2 and storage management
DB2 and storage managementCraig Mullins
 
Basic concept of jcl
Basic concept of jclBasic concept of jcl
Basic concept of jclAnil Bharti
 
IBM DB2 for z/OS Administration Basics
IBM DB2 for z/OS Administration BasicsIBM DB2 for z/OS Administration Basics
IBM DB2 for z/OS Administration BasicsIBM
 
Db2 and storage management (mullins)
Db2 and storage management (mullins)Db2 and storage management (mullins)
Db2 and storage management (mullins)Craig Mullins
 
DB2 for z/OS Real Storage Monitoring, Control and Planning
DB2 for z/OS Real Storage Monitoring, Control and PlanningDB2 for z/OS Real Storage Monitoring, Control and Planning
DB2 for z/OS Real Storage Monitoring, Control and PlanningJohn Campbell
 
Introduction of ISPF
Introduction of ISPFIntroduction of ISPF
Introduction of ISPFAnil Bharti
 

La actualidad más candente (20)

zOSMF SDSF_ShareLab_V2R5.pdf
zOSMF SDSF_ShareLab_V2R5.pdfzOSMF SDSF_ShareLab_V2R5.pdf
zOSMF SDSF_ShareLab_V2R5.pdf
 
Upgrade to IBM z/OS V2.4 planning
Upgrade to IBM z/OS V2.4 planningUpgrade to IBM z/OS V2.4 planning
Upgrade to IBM z/OS V2.4 planning
 
RACF - The Basics (v1.2)
RACF - The Basics (v1.2)RACF - The Basics (v1.2)
RACF - The Basics (v1.2)
 
DB2 for z/OS Architecture in Nutshell
DB2 for z/OS Architecture in NutshellDB2 for z/OS Architecture in Nutshell
DB2 for z/OS Architecture in Nutshell
 
Parallel Sysplex Implement2
Parallel Sysplex Implement2Parallel Sysplex Implement2
Parallel Sysplex Implement2
 
DB2 on Mainframe
DB2 on MainframeDB2 on Mainframe
DB2 on Mainframe
 
Mvs commands
Mvs commandsMvs commands
Mvs commands
 
Z4R: Intro to Storage and DFSMS for z/OS
Z4R: Intro to Storage and DFSMS for z/OSZ4R: Intro to Storage and DFSMS for z/OS
Z4R: Intro to Storage and DFSMS for z/OS
 
Skillwise-IMS DB
Skillwise-IMS DBSkillwise-IMS DB
Skillwise-IMS DB
 
SKILLWISE-DB2 DBA
SKILLWISE-DB2 DBASKILLWISE-DB2 DBA
SKILLWISE-DB2 DBA
 
Mainframe JCL Part - 1
Mainframe JCL Part - 1Mainframe JCL Part - 1
Mainframe JCL Part - 1
 
MVS ABEND CODES
MVS ABEND CODESMVS ABEND CODES
MVS ABEND CODES
 
DB2 and storage management
DB2 and storage managementDB2 and storage management
DB2 and storage management
 
Skillwise JCL
Skillwise JCLSkillwise JCL
Skillwise JCL
 
An Hour of DB2 Tips
An Hour of DB2 TipsAn Hour of DB2 Tips
An Hour of DB2 Tips
 
Basic concept of jcl
Basic concept of jclBasic concept of jcl
Basic concept of jcl
 
IBM DB2 for z/OS Administration Basics
IBM DB2 for z/OS Administration BasicsIBM DB2 for z/OS Administration Basics
IBM DB2 for z/OS Administration Basics
 
Db2 and storage management (mullins)
Db2 and storage management (mullins)Db2 and storage management (mullins)
Db2 and storage management (mullins)
 
DB2 for z/OS Real Storage Monitoring, Control and Planning
DB2 for z/OS Real Storage Monitoring, Control and PlanningDB2 for z/OS Real Storage Monitoring, Control and Planning
DB2 for z/OS Real Storage Monitoring, Control and Planning
 
Introduction of ISPF
Introduction of ISPFIntroduction of ISPF
Introduction of ISPF
 

Similar a Vsam presentation PPT

16119 - Get to Know Your Data Sets (1).pdf
16119 - Get to Know Your Data Sets (1).pdf16119 - Get to Know Your Data Sets (1).pdf
16119 - Get to Know Your Data Sets (1).pdf3operatordcslipiPeng
 
Datasets and catalogs
Datasets and catalogs Datasets and catalogs
Datasets and catalogs Roma Vyas
 
Vsam interview questions and answers.
Vsam interview questions and answers.Vsam interview questions and answers.
Vsam interview questions and answers.Sweta Singh
 
WAVV 2009 - Migration to CICS TS for VSE/ESA
WAVV 2009 - Migration to CICS TS for VSE/ESAWAVV 2009 - Migration to CICS TS for VSE/ESA
WAVV 2009 - Migration to CICS TS for VSE/ESAillustrosystems
 
Seismic Analysis Code (SAC)
Seismic Analysis Code (SAC)Seismic Analysis Code (SAC)
Seismic Analysis Code (SAC)ssuser8193e7
 
SRV405 Ancestry's Journey to Amazon Redshift
SRV405 Ancestry's Journey to Amazon RedshiftSRV405 Ancestry's Journey to Amazon Redshift
SRV405 Ancestry's Journey to Amazon RedshiftAmazon Web Services
 
Reading the LISTCAT entries for VSAM
Reading the LISTCAT entries for VSAMReading the LISTCAT entries for VSAM
Reading the LISTCAT entries for VSAMDan O'Dea
 
Introduction to Storage.ppt
Introduction to Storage.pptIntroduction to Storage.ppt
Introduction to Storage.pptParam Eswaran
 
wireless lan presentation.ppt
wireless lan presentation.pptwireless lan presentation.ppt
wireless lan presentation.pptHODElex
 
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWS
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWSAWS SSA Webinar 20 - Getting Started with Data Warehouses on AWS
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWSCobus Bernard
 
Cics data access-session 4
Cics data access-session 4Cics data access-session 4
Cics data access-session 4Srinimf-Slides
 
Getting started with Amazon Redshift
Getting started with Amazon RedshiftGetting started with Amazon Redshift
Getting started with Amazon RedshiftAmazon Web Services
 
Demystifying the JESD204B High-speed Data Converter-to-FPGA interface
Demystifying the JESD204B High-speed Data Converter-to-FPGA interfaceDemystifying the JESD204B High-speed Data Converter-to-FPGA interface
Demystifying the JESD204B High-speed Data Converter-to-FPGA interfaceAnalog Devices, Inc.
 

Similar a Vsam presentation PPT (20)

VSAM Tuning
VSAM TuningVSAM Tuning
VSAM Tuning
 
16119 - Get to Know Your Data Sets (1).pdf
16119 - Get to Know Your Data Sets (1).pdf16119 - Get to Know Your Data Sets (1).pdf
16119 - Get to Know Your Data Sets (1).pdf
 
Datasets and catalogs
Datasets and catalogs Datasets and catalogs
Datasets and catalogs
 
VSAM for ever, Alvaro Salla, CMG Brasil 2011
VSAM for ever, Alvaro Salla, CMG Brasil 2011VSAM for ever, Alvaro Salla, CMG Brasil 2011
VSAM for ever, Alvaro Salla, CMG Brasil 2011
 
Vsam interview questions and answers.
Vsam interview questions and answers.Vsam interview questions and answers.
Vsam interview questions and answers.
 
WAVV 2009 - Migration to CICS TS for VSE/ESA
WAVV 2009 - Migration to CICS TS for VSE/ESAWAVV 2009 - Migration to CICS TS for VSE/ESA
WAVV 2009 - Migration to CICS TS for VSE/ESA
 
Seismic Analysis Code (SAC)
Seismic Analysis Code (SAC)Seismic Analysis Code (SAC)
Seismic Analysis Code (SAC)
 
WLAN
WLANWLAN
WLAN
 
SAN Concepts
SAN ConceptsSAN Concepts
SAN Concepts
 
SRV405 Ancestry's Journey to Amazon Redshift
SRV405 Ancestry's Journey to Amazon RedshiftSRV405 Ancestry's Journey to Amazon Redshift
SRV405 Ancestry's Journey to Amazon Redshift
 
Oracle acfs in oracle 11
Oracle acfs in oracle 11Oracle acfs in oracle 11
Oracle acfs in oracle 11
 
Reading the LISTCAT entries for VSAM
Reading the LISTCAT entries for VSAMReading the LISTCAT entries for VSAM
Reading the LISTCAT entries for VSAM
 
Introduction to Storage.ppt
Introduction to Storage.pptIntroduction to Storage.ppt
Introduction to Storage.ppt
 
wireless lan presentation.ppt
wireless lan presentation.pptwireless lan presentation.ppt
wireless lan presentation.ppt
 
Intro to IDMS
Intro to IDMSIntro to IDMS
Intro to IDMS
 
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWS
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWSAWS SSA Webinar 20 - Getting Started with Data Warehouses on AWS
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWS
 
Cics data access-session 4
Cics data access-session 4Cics data access-session 4
Cics data access-session 4
 
Getting started with Amazon Redshift
Getting started with Amazon RedshiftGetting started with Amazon Redshift
Getting started with Amazon Redshift
 
Demystifying the JESD204B High-speed Data Converter-to-FPGA interface
Demystifying the JESD204B High-speed Data Converter-to-FPGA interfaceDemystifying the JESD204B High-speed Data Converter-to-FPGA interface
Demystifying the JESD204B High-speed Data Converter-to-FPGA interface
 
San
SanSan
San
 

Último

Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 

Último (20)

OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 

Vsam presentation PPT

  • 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. 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. 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. VSAM  VSAM acts as interface between  Operating System and Application Program V Request S Reply Operating Application A System M
  • 6. VSAM  Interface between Main Storage and Disk V S Main Storage DATA A DATA Disk M
  • 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. 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. VSAM Dataset Types Entry 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. 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. VSAM internals  CONTROL INTERVAL (CI)  VSAM stores Data and Index in Control Intervals (CI)  CI is similar to ‘Block’ CI Record Record .......
  • 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. Control Interval  CI contains  Records (or DATA)  Free space (Optional)  Control Information Definition Field (CIDF)  Record Definition field (RDF)
  • 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. CONTROL INTERVAL  CIDF & RDF are VSAM control functions  Used by VSAM to access data R R C R1 R2 Free D I R3 D Space F D F F 3 bytes, Length of Record How many successive records have same length 4 bytes long, One per CI Indicates Free space, where and how much
  • 16. CONTROL AREA Control 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. 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 FS Data Component (CA2) FS FS FS FS FS 1001 1002 1005 1010 FS 1020 1022 1030 1055 FS FS FS FS FS FS
  • 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 CI's. 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. 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. 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. ORGANIZATION SEQUENTIAL => ESDS INDEXED => KSDS RELATIVE => RRDS ACCESS MODE OPTIONS ESDS : SEQUENTIAL KSDS : SEQUENTIAL or RANDOM or DYNAMIC RRDS: SEQUENTIAL or RANDOM or DYNAMIC
  • 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.
  • 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. 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
  • 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. 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. 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. FILE-CONTROL Paragraph Format: 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. ESDS  ORGANIZATION IS SEQUENTIAL  ACCESS MODE IS SEQUENTIAL INPUT OUTPUT INPUT- EXTEND OUTPUT READ YES - YES - WRITE - YES YES DELETE REWRITE YES
  • 32. VSAM === ESDS ORGANIZATION IS SEQUENTIAL. ACCESS MODE = SEQUENTIAL OVERVIEW
  • 38. View the data from ESDS REPRO COMMAND
  • 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. SELECT & ASSIGN Syntax ENVIRONMENT 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. READ statement READ FileName RECORD INTO DestItem KEY IS KeyName INVALID KEY StatementBlock END READ READ FileName NEXT RECORD INTO DestItem AT END StatementBlock END READ
  • 47. WRITE & REWRITE statement WRITE RecName FROM SourceItem INVALID KEY StatementBlock END WRITE REWRITE RecName FROM SourceItem INVALID KEY StatementBlock END REWRITE
  • 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. INDEX FILE ORGANIZATION IS INDEXED. ACCESS MODE = SEQUENTIAL OVERVIEW
  • 56. READING INDEX FILE-KSDS ORGANIZATION IS INDEXED. ACCESS MODE = SEQUENTIAL OVERVIEW
  • 59. EXECUTE A PROGRAM FOR READING DATA FROM KSDS
  • 62. START & DELETE statement IS EQUAL TO IS = IS GREATER THAN START FileName KEY KeyName IS > IS NOT LESS THAN IS NOT < INVALID KEY StatementBlock END START DELETE FileName RECORD INVALID KEY StatementBlock END DELETE
  • 68. EXECUTE A PROGRAM AFTER COMPILE
  • 69. PRINT THE KSDS DATASET
  • 72. KSDS  ORGANIZATION IS INDEXED  ACCESS MODE IS RANDOM INPUT OUTPUT INPUT- OUTPUT READ YES - YES WRITE - YES YES DELETE YES REWRITE YES START
  • 74. KSDS – Random -WRITE
  • 75. KSDS –RANDOM MODE READ Operation Overview
  • 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. KSDS- DYNAMIC MODE WRITE OPERATION Overview
  • 86. Sample JCL to create an RRDS cluster //LEM0UXXA JOB MSGCLASS=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 /*
  • 97. ALTERNATE INDEXES  Used whenever the data is required to be retrieved on the basis of m than one field EMPNO ENAME SALARY 101 RAJESH 5000 102 RAMESH 6000 103 RANDY 7000 104 SURESH 8000  e.g., Can be defined for both KSDS & ESDS EMPNO IS ENAME IS BASE KEY ALTERNATE KEY
  • 98. ALTERNATE INDEXES Reduce data redundancy Can have duplicates Easy to define using IDCAMS Allow datasets to be accessed sequentially or randomly Can be updated automatically
  • 99. Disadvantages  Performance degradation  Complex update logic
  • 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. 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 CLUSTER TRACKS(2,1) - NONUNIQUEKEY - RECORDSIZE(N1,N2) RECORDSIZE(49,49) - N1=> AVG RECL UPGRADE CONTROLINTERVALSIZE(4096) - N2=> MAX RECL FREESPACE(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. UPGRADE/NOUPGRADE • Syntax : UPGRADE/NOUPGRADE • UPGRADE specifies that records in AIX are to be updated • automatically whenever the base cluster is updated
  • 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') - /*
  • 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 ) /* //
  • 109. LOADING DATA INTO BASE CLUSTER
  • 110. LOADING DATA INTO BASE CLUSTER
  • 111. LOADING DATA INTO BASE CLUSTER
  • 112. EXECUTING A PROGRAM TO LOAD DATA
  • 113. EXECUTING A PROGRAM TO LOAD DATA
  • 114. DEFINING AIX RECORDSIZE(N1,N2) N1= LENGTH OF BASE CLUSTER KEY(3) + LENGTH OF AIX KEY(5) + 5 for CI
  • 116. Create path for Bridge
  • 117. READING RECORDS BY ALTERNATE INDEX
  • 118. READING RECORD BY ALTERNATE KEY
  • 119. READING RECORD BY ALTERNATE KEY
  • 120. EXECUTE A READ PROGRAM BY ALTERNATE KEY DD1-> BASE CLUSTER DD11-> PATH NAME DDNAME SHOULD BE IN ORD