0% found this document useful (0 votes)
237 views

Using IDCAMS To Manage VSAM Data Sets: Session 12998 Presented by Michael E. Friske

Using IDCAMS to manage VSAM data sets. The IDCAMS commands can be used to define, alter, delete, export, import, print, and verify VSAM data sets. Key IDCAMS commands include DEFINE CLUSTER to create a VSAM data set, DEFINE ALTERNATEINDEX to create an alternate index, and EXPORT/IMPORT to backup and recover VSAM data.

Uploaded by

Madhav Ragahav
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
237 views

Using IDCAMS To Manage VSAM Data Sets: Session 12998 Presented by Michael E. Friske

Using IDCAMS to manage VSAM data sets. The IDCAMS commands can be used to define, alter, delete, export, import, print, and verify VSAM data sets. Key IDCAMS commands include DEFINE CLUSTER to create a VSAM data set, DEFINE ALTERNATEINDEX to create an alternate index, and EXPORT/IMPORT to backup and recover VSAM data.

Uploaded by

Madhav Ragahav
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Using IDCAMS to Manage VSAM Data

Sets

Session 12998
Presented by
Michael E. Friske

IDCAMS Manual
The IDCAMS commands can be found in the DFSMS
Access Method Services (AMS) for Catalogs manual. This
manual is available on the IBM publications web site.

Invoking IDCAMS
Environments IDCAMS can be used in
Batch
TSO
Call within a program

SYSPRINT and SYSIN DD statements are required


In batch, the commands must begin in column 2 to 72

IDCAMS Commands for VSAM


DEFINE CLUSTER
DEFINE
ALTERNATEINDEX
DEFINE PATH
BLDINDEX
ALTER
DELETE

EXPORT
IMPORT
REPRO
LISTCAT
PRINT
VERIFY

DEFINE CLUSTER Command


This command is used to create a new VSAM data
set
The parameters can be specified on the

Cluster
Data Component
Index Component
Any of the above

DEFINE CLUSTER parameters

Defining VSAM Data Sets Using IDCAMS


//STEP010 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
DEFINE CLUSTER(
NAME(PROD.PAYROLL.MASTER)

DATACLAS(EXTAVSAM)

INDEXED KEY(9,0)
CYLINDERS(500,50)

FREESPACE(10,0)
RECORDSIZE(150,150)

SHAREOPTIONS(2,3)
SPEED)

DATA(CONTROLINTERVALSIZE(4096))
INDEX(CONTROLINTERVALSIZE(2048))

Required Parameters for the DEFINE


CLUSTER Command
NAME(entryname)
CYLINDERS | TRACKS | KILOBYTES | MEGABYTES |
RECORDS
Example CYLINDERS(primary secondary)

VOLUMES
Specify an * for each volume required for SMS managed
data sets

Specifying the Type of VSAM Data Set

INDEXED
NONINDEXED
NUMBERED
LINEAR

- KSDS
- ESDS
- RRDS
- LDS

Describing the Records to be Loaded


RECORDSIZE(average, maximum)
NONSPANNED or SPANNED
KEYS(length, offset)

CONTROLINTERVALSIZE
For NONSPANNED, the CI size must be at least 7 bytes
larger than the max record size
CI size can be 512 to 8192 bytes in 512 byte increments
or 8KB to 32KB in 2KB increments
For Linear data sets, the CI size can be 4096 to 32768 in
4096 increments
VSAM will adjust if a valid size is not specified
Usually different sizes for DATA and INDEX component
FREESPACE(CI% CA%)

CI Size and Disk Utilization


DATA CI Size CI/CA Non-EF
512
735
1024
495
1536
390
2048
315
2560
255
3072
225
3584
195
4096
180
4608
150
5120
135
5632
135
6144
120
6656
105
7168
105
7680
90
8192
90
10240
75
12288
60
14336
52
16384
45
18432
45
20480
37
22528
33
24576
30
26624
30
28672
26
30720
25
32768
22

Disk
Utilization (%)
Non-EF
45
61
72
78
79
83
84
89
83
83
92
89
84
91
83
89
93
89
90
89
100
91
90
89
96
90
93
87

CI/CA
Extended
Format
720
495
375
315
255
225
195
180
150
135
135
120
105
105
90
90
75
60
45
45
40
37
33
30
30
22
25
22

Disk
Utilization
(%)Extended
Format
46
63
72
81
82
87
88
92
87
87
95
92
88
94
87
92
96
92
81
92
88
95
93
92
100
81
86
92

FREESPACE(25 20)
Control Area

Control Area

102

103

108

143

144

145

113

115

124

146

149

151

127

129

130

152

154

155

131

139

141

157

158

159

FREESPACE Is Not Free


VSAM KSDS:
DATA CISZ = 4096
CI/CA = 180
FREESPACE(15,20)
Total bytes in CA = 4096 * 180 = 737,280
CA Free Space = (180 * .2) * 4096 = 147,456
CI Free Space = 4096 * .15 * (180 * .8) = 88,560
Percentage of each CA reserved for Free Space =
(147,456 + 88,560) / 737,280 = 32%

SPEED vs. RECOVERY


RECOVERY tells VSAM to pre-format each DATA CI
before loading data into it
SPEED tells VSAM not to pre-format the data
components space during the load process
RECOVERY is the default, so always specify SPEED (or
use a DATACLAS definition that specifies SPEED)

REUSE vs. NOREUSE


REUSE When the data set is opened for OUTPUT (Load
Mode), the High Used Relative Byte Address (HURBA) is
reset to zero
NOREUSE When the data set is opened for OUTPUT, it
must be empty

DEFINE ALTERNATEINDEX
This command is used to create an alternate index over
a KSDS or an ESDS
The KEY parameter specifies the key length and the
offset where the key begins in the data record
Most parameters for an alternate index are the same as
the parameters for a KSDS
An alternate index can be define with UPGRADE or
NOUPGRADE
The AIX can be defined with either UNIQUEKEY or
NONUNIQUEKEY

DEFINE ALTERNATEINDEX Example


//STEP010 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE AIX(
NAME (PROD.PAYROLL.MASTER.AIX) RELATE (PROD.PAYROLL.MASTER) RECORDSIZE(24,74)
KEYS(10,76)
NONUNIQUEKEY
CYL(25,5)
FREESPACE(00,05)
SHAREOPTIONS(2 3)
UPGRADE)
DATA (
NAME(PROD.PAYROLL.MASTER.AIX.DATA) VOLUMES(* *)
CISZ(4096))
INDEX (
NAME(PROD.PAYROLL.MASTER.AIX.INDEX))
VOLUMES(*) CISZ(1536))

DEFINE PATH Command


A PATH defines a relationship between a base cluster
and an alternate index
UPDATE - specifies that, when records in the base cluster
are modified or deleted, or when records are added to the
base cluster, each alternate index in the base cluster's
upgrade set is modified to reflect the change in the cluster's
data
NOUPDATE - specifies that, when opening the path, the
path's base cluster is to be allocated and the base cluster's
upgrade set is not to be allocated

BLDINDEX Command
The BLDINDEX command loads the alternate index
If the AIX is defined with NONUNIQUEKEY, the CISIZE
for the AIX needs to be large enough to contain pointers
to all of the records for each alternate index key

ALTER Command
The ALTER command is used to change the logical
characteristics of a VSAM data set
The physical characteristics of a VSAM data set cannot
be changed with the ALTER command
The ALTER command is used to rename VSAM data
sets and their associated components

DELETE Command
The DELETE command can be used to VSAM base
clusters, alternate indexes, and path definitions
When an alternate index is deleted, the associated path
is also deleted
When a base cluster is deleted, all of the associated
alternate indexes and paths are also deleted

EXPORT Command
The EXPORT command can be used to create a backup
of a VSAM data set
The backup data set is in a proprietary format that can only
be used by the IMPORT command

EXPORT Examples
//STEP010 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//DDNAME1 DD DSN=PROD.EXPORT.PAYROLL.MASTER(+1),
//
DISP=(NEW,CATLG,DELETE),
//
SPACE=(CYL,(500,50),RLSE)
//SYSIN DD *
EXPORT PROD.PAYROLL.MASTER OUTFILE(DDNAME1) PERMANENT

//STEP010 EXEC PGM=IDCAMS


//SYSPRINT DD SYSOUT=*
//INDD DD DSN=PROD.PAYROLL.TAXFORMS,DISP=SHR
//OUTDD DD DSN=PROD.EXPORT.PAYROLL.TAXFORMS,
//
DISP=(NEW,CATLG,DELETE),
//
SPACE=(CYL,(500,50),RLSE)
//SYSIN DD *
EXPORT INFILE(INDD) OUTFILE(OUTDD) TEMPORARY

IMPORT Command
The IMPORT command recovers the data for a VSAM
data set from an EXPORT backup

IMPORT Command Examples


//STEP010 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//DDNAME1 DD DSN=STORAGE.EXPORT.SMALLDS.VHSM049,DISP=OLD
//SYSIN DD *
IMPORT INFILE(DDNAME1) OUTDATASET(HSM.SMALLDS.VHSM049)

//STEP010 EXEC PGM=IDCAMS


//SYSPRINT DD SYSOUT=*
//DDNAME1 DD DSN=STORAGE.SCDS.UNLOAD.G0282V00,DISP=SHR
//SYSIN DD *
IMPORT IFILE(DDNAME1) ODS(SMS.PROD.SCDS.RECOVER) OBJECTS( (SMS.PROD.SCDS NEWNAME(SMS.PROD.SCDS.RECOVER)) (SMS.PROD.SCDS.DATA NEWNAME(SMS.PROD.SCDS.RECOVER.DATA)))

REPRO Command
The REPRO command can be used to copy some or all of
the records from a VSAM data set to either another VSAM
data set or a sequential data set
The REPRO command can also be used to copy records
from a sequential data set into a VSAM data set

REPRO Command Example #1

//STEP010 EXEC PGM=IDCAMS


//SYSPRINT DD SYSOUT=*
//INDD1
DD DSN=HSM.PROD.MCDS,DISP=SHR
//OUTDD1 DD DSN=STORAGE.MCDS1.UNLOAD,
//
DISP=(NEW,CATLG,DELETE),
//
DATACLAS=EXTENDED,
//
SPACE=(CYL,(1500,500),RLSE),
//
DSORG=PS,RECFM=VB,LRECL=2044,BLKSIZE=0
//SYSIN DD *
REPRO INFILE(INDD1) OUTFILE(OUTDD1)

REPRO Command Example #2

//STEP010 EXEC PGM=IDCAMS


//SYSPRINT DD SYSOUT=*
//OUTDD1 DD DSN=TEST.TESTDATA.UNLOAD,
//
DISP=(NEW,CATLG,DELETE),
//
AVGREC=U,SPACE=(80,(50,10),RLSE),
//
DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=0
//SYSIN DD *
REPRO IDS(TEST.VSAM.TESTDATA) OUTFILE(OUTDD1)

REPRO Command Example #3

//STEP010 EXEC PGM=IDCAMS


//SYSPRINT DD SYSOUT=*
//INDD1 DD DSN=PROD.CUSTOMER.MASTER,DISP=SHR
//OUTDD1 DD DSN=TEST.CUSTOMER.UNLOAD.SUBSET,
//
DISP=(NEW,CATLG,DELETE),
//
SPACE=(TRK,(20,3),RLSE),
//
DSORG=PS,RECFM=FB,LRECL=520,BLKSIZE=0
//SYSIN DD *
REPRO IFILE(INDD1) OUTFILE(OUTDD1) SKIP(1000) COUNT(5000)

REPRO Command Example #4

//STEP030 EXEC PGM=IDCAMS


//SYSPRINT DD SYSOUT=*
//SYSIN DD *
REPRO IDS(PROD.CHECK.FILE.UPDATES)
ODS(PROD.CHECK.FILE.D080212)
FROMKEY(2012215) TOKEY(2012216)

PRINT Command
The PRINT command can be used to print records in a
VSAM data set

PRINT Command Examples


//STEP010 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//DDNAME1 DD DSN=PROD.SHIFT.STAFFING,DISP=SHR
//DDNAME2 DD DSN=PROD.PARTS.INVENTRY,DISP=SHR
//VSAMDS1 DD DSN=PROD.CUST.MASTER.AIX02,DISP=SHR
//VSAMDS2 DD DSN=PROD.STAFF.CONTACTS,DISP=SHR
//SYSIN
DD *
PRINT IFILE(DDNAME1) CHARACTER
PRINT IFILE(DDNAME2) HEX FROMKEY('KE7 025429') COUNT(5)
PRINT IDS(PROD.USPS.ZIPCODES) DUMP COUNT(300)
PRINT IFILE(VSAMDS1) DUMP FROMADDRESS(16220160) TOADDRESS(17694720)
PRINT INFILE(VSAMDS2) CHAR FROMKEY(X'F1') TOKEY(X'F2')

VERIFY Command
The VERIFY command is used to correctly reflect the end
of the VSAM data set that was not closed properly
The RECOVER parameter can be specified to fix errors
caused by an incomplete CA reclaim

VERIFY Command Examples


//STEP010 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
VERIFY DATASET(CICSV.TCPIP32.CISORDT.EZACONFG)

//STEP010 EXEC PGM=IDCAMS


//SYSPRINT DD SYSOUT=*
//VSAMFILE DD DSN=TEST.RUN04.CHECKS.Y,DISP=SHR
//SYSIN DD *
VERIFY FILE(VSAMFILE)
//STEP010 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
VERIFY DATASET(PROD.CROSSREF.LEVEL3) RECOVER

Using IDCAMS LISTCAT


Provides extensive information about VSAM data sets
including:
Data set attributes
SMS information
RLS information
Allocation information (like primary and secondary space
requested, CI size, split information, etc.)
Volume and extent information
Sphere information

Selecting Entries to List

LISTCAT ENTRIES(PAYROLL.PROD.ACTIVE)
LISTCAT LEVEL(QA.BALANCE)
LISTCAT LEVEL(ACCT.PROD.GRP%N)
LISTCAT ENT(HR.PROD.EMPLID) ALL OUTFILE(OUTDD)

What Information to List

LISTCAT ENT(entname) NAME


LISTCAT ENT(entname) HISTORY
LISTCAT ENT(entname) ALLOCATION
LISTCAT ENT(entname) VOLUME
LISTCAT ENT(entname) ALL

Output from LISTCAT Cluster


Information
LISTCAT ENT(MRKT.PROD.DMPIIMST) ALL
CLUSTER ------- MRKT.PROD.DMPIIMST
IN-CAT --- CAT.PROD01
HISTORY
DATASET-OWNER-----(NULL) CREATION--------2013.031
RELEASE----------------2 EXPIRATION------0000.000
SMSDATA
STORAGECLASS ---STANDARD
MANAGEMENTCLASS-ONLINE
DATACLASS ------EXTAVSAM
LBACKUP ---0000.000.0000
CA-RECLAIM----------(YES)
EATTR-------------(NULL)
BWO STATUS------00000000 BWO TIMESTAMP---00000 00:00:00.0
BWO---------------(NULL)
RLSDATA
LOG ------------------NONE RECOVERY REQUIRED --(NO) FRLOG ------------(NULL)
VSAM QUIESCED -------(NO) RLS IN USE ---------(NO) LOGREPLICATE-------------(NO)
LOGSTREAMID-----------------------------(NULL)
RECOVERY TIMESTAMP LOCAL-----X'0000000000000000'
RECOVERY TIMESTAMP GMT-------X'0000000000000000'
PROTECTION-PSWD-----(NULL) RACF----------------(NO)
ASSOCIATIONS
DATA-----MRKT.PROD.DMPIIMST.DATA
INDEX----MRKT.PROD.DMPIIMST.INDEX

Output from LISTCAT DATA


Component
DATA ------- MRKT.PROD.DMPIIMST.DATA
IN-CAT --- CAT.PROD01
HISTORY
DATASET-OWNER-----(NULL) CREATION--------2013.031
RELEASE----------------2 EXPIRATION------0000.000
ACCOUNT-INFO-----------------------------------(NULL)
PROTECTION-PSWD-----(NULL) RACF----------------(NO)
ASSOCIATIONS
CLUSTER--FSVP.FBSI.DMPIMSTD
ATTRIBUTES
KEYLEN-----------------8
AVGLRECL-------------100 BUFSPACE------------6144
CISIZE--------------1024
RKP-----------------------0 MAXLRECL-------------100 EXCPEXIT----------(NULL)
CI/CA----------------495
STRIPE-COUNT-----------1
SHROPTNS(2,3)
SPEED UNIQUE
NOERASE INDEXED
NOWRITECHK UNORDERED
NOREUSE
NONSPANNED
EXTENDED EXT-ADDR
STATISTICS
REC-TOTAL-----------15006
SPLITS-CI----------------23
EXCPS------------------49
REC-DELETED-------------0
SPLITS-CA-----------------2
EXTENTS----------------1
REC-INSERTED------------0
FREESPACE-%CI--------0
SYSTEM-TIMESTAMP:
REC-UPDATED-------------0
FREESPACE-%CA-------0
X'CADB0E18220D0706'
REC-RETRIEVED-------4851
FREESPC-----------101376
ALLOCATION
SPACE-TYPE------CYLINDER
HI-A-RBA---------1520640
SPACE-PRI---------------3
HI-U-RBA---------1519616
SPACE-SEC--------------1
VOLUME
VOLSER------------M1P072 PHYREC-SIZE---------1024
HI-A-RBA---------1520640
EXTENT-NUMBER----------1
DEVTYPE------X'3010200F' PHYRECS/TRK-----------33
HI-U-RBA--------1519616
EXTENT-TYPE----------X'40'
VOLFLAG------------PRIME TRACKS/CA-------------15
EXTENTS:
LOW-CCHH-----X'00420000' LOW-RBA---------------------0
TRACKS----------------150
HIGH-CCHH----X'00C1000E' HIGH-RBA---------5070848

Output from LISTCAT INDEX


Component
INDEX ------ MRKT.PROD.DMPIIMST.INDEX
IN-CAT --- CAT.PROD01
HISTORY
DATASET-OWNER-----(NULL) CREATION--------2013.031
RELEASE----------------2 EXPIRATION------0000.000
PROTECTION-PSWD-----(NULL) RACF----------------(NO)
ASSOCIATIONS
CLUSTER--FSVP.FBSI.DMPIMSTD
ATTRIBUTES
KEYLEN-----------------8
AVGLRECL---------------0
BUFSPACE---------------0
CISIZE--------------4096
RKP----------------------0
MAXLRECL------------4089
EXCPEXIT----------(NULL)
CI/CA-----------------12
SHROPTNS(2,3)
SPEED UNIQUE
NOERASE NOWRITECHK UNORDERED NOREUSE
EXTENDED
EXT-ADDR
STATISTICS
REC-TOTAL-------------11
SPLITS-CI--------------0
EXCPS-----------------59
INDEX:
REC-DELETED------------0 SPLITS-CA--------------0
EXTENTS----------------1
LEVELS-----------------3
REC-INSERTED-----------0 FREESPACE-%CI----------0 SYSTEM-TIMESTAMP:
ENTRIES/SECT----------22
REC-UPDATED------------0 FREESPACE-%CA----------0
X'CADB0E18220D0706'
SEQ-SET-RBA----------------0
REC-RETRIEVED----------0 FREESPC-------------4096
HI-LEVEL-RBA------------8192
ALLOCATION
SPACE-TYPE---------TRACK
HI-A-RBA-----------49152
SPACE-PRI--------------1
HI-U-RBA-----------45056
SPACE-SEC--------------1
VOLUME
VOLSER------------M1P072 PHYREC-SIZE---------4096 HI-A-RBA-----------49152 EXTENT-NUMBER----------1
DEVTYPE------X'3010200F' PHYRECS/TRK-----------12 HI-U-RBA-----------45056 EXTENT-TYPE--------X'00'
VOLFLAG------------PRIME TRACKS/CA--------------1
EXTENTS:
LOW-CCHH-----X'0041000B' LOW-RBA----------------0 TRACKS-----------------1
HIGH-CCHH----X'0041000B' HIGH-RBA-----------49151

You might also like