Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Topic Objectives Terminal Objectives : After attending this topic the student should know the various types of VSAM data sets, including specific terminology and distinct characteristics of each data set type.
Enabling Objectives:: Upon completion of this topic the student should be able to :
* Explain the function of control intervals and control areas. * Describe the data set organizations supported by VSAM:LDS,RRDS,ESDS, KSDS. * State the purpose of control interval and control area splits and describe how they are accomplished. * Estimate DASD space requirements for VSAM clusters.
2.
LR
LR
LR
LR
3.
LR
LR LR LR LR
LR
LR LR LR LR
LR
LR LR LR LR
LR
LR LR LR LR
EXAMPLE 100 100 100 150 BYTESBYTES BYTESBYTES UNUSED SPACE RDF3 RDF2 RDF1 CIDF
LR1 LR2 CI
LR3
* LINEAR DATA SET * RELATIVE RECORD DATA SET * ENTRY SEQUENCED DATA SET * KEY SEQUENCED DATA SET
DATA CA
CI CI
CI
DATA CA
CI CI CI
DATA CA
CI 1 CI 2 CI 3
SLOT16 SLOT17
CI 0
DATA CI 1 CA
CI 2 CI 3
GETRECORD 25
21 17 18 22 19 23 20
CONTROL AREA 1
RECORD 2
RECORD 3
RECORD 4
RR C DD I F F D F
R R R RC D D D DI F F F F D F
RBA 4096
RBA 8192
CI4
UNUSED SPACE RBA 12288
CONTROL AREA
CI
CONTROL AREA1
R9 R6 R4 R1 R2 R5 R3 CONTROL INTERVAL R7 R10 R8
R15
R16
R17
CI
CI
R11
CI CI
CI
SPANNED RECORDS
RECORD1
RECORD 1 SEGMWENT 1
R D F 2
R D F 1
C I D F
RECORD 1 SEGMENT 2
R D F 2
R D F 1
C I D F
RECORD
C I D F
DATA BUFFERS
CI 1 CI2 CI3
WORK AREA
ADDRESS AREA
DATA COMPONENT
INDEX SET
IS 3 SS5 SS6
SEQU. SET
DATA COMPONENT
CA 1 CI 1 CI 2 CI 3 CI 4 CA 2 CI1 CI2 CA 3 CI 1 CI 2 CA 4 CI 1 CI 2 CA 5 CI 1 CI 2 CA 6 CI 1 CI 2
KSDS ACCESS
INDEX COMPONENT
079
236
007
021
079
FS
099
124
236
FS
DATA COMPONENT 001 021 004 007 084 087 111 099 124
087
079
238
LOADING A KSDS
4037
4065
4077
FS
CI 0
4012
4023
4034
4037
FREE SPACE
CI 1 DATA CA CI 2
4041
4050
4052
4065
FREE SPACE
4072
4073
4075
4077
FREE SPACE
CI 3
FREE SPACE
UPDATING A KSDS
INSERT 4058 SEQUENCE SET CI 4037 4065 4077 FS
CI 0 4012
4023
4034
4037
FREE SPACE
CI 1 4041 DATA CA
4050
4052
4058
4065
CI 2 4072
4073
4075
4077
FREE SPACE
CI 3
FREE SPACE
CI 1
CI 2
CI 3
4052
4058
4065
FREESPACE
AFTER
INDEX SET CI 4077 SEQUENCE SET CIs
4037
CI 0 CI 1 CI 2 CI 3
4076
4076
CA 1
CI 0
CI 1 CI 2 CI 3 CA 2
ALTERNATE INDEX
AIX 2
(NAME)
(SS NO.)
3235 NEWTON $ .. 3240 JOHN $ .. 3247 MURTHY $ .. 3247 DUTT $ .. 3247 PETTY $ .. . . MURTHY 3247 $ ... ARNOLD 4711 $ DUTT 3247 $ .. . . . .
?
?
?
?
(PRIMARY [ , SECONDARY] )
EXAMPLES :
RECORD ( 2000, 5) TRACKS (100, 3) CYLINDERS ( 10,1) CYLINDERS ( 1 ) KILOBYTES ( 200 20 ) MEGABYTES ( 4 1)
CA SIZE
TRACKS / RECORDS
EXAMPLES :
ALLOCATION
TRACKS (100, 3) RECORDS (2000, 5) KILOBYTES ( 200 10 ) MEGABYTES (4 1 )
CA SIZE
IS
INDEX COMPONENT
INDEX COMPONENT
SS1 IS SS2 DATA SS1 SS1 SS1 SS1 SS1 DATA SS2 SS2 SS2 SS2 SS2 DATA
DATA COMPONENT
DATA
DATA COMPONENT
NOIMBED
(DEFAULT)
IMBED
5.
4.
NUMBER OF
CA s NEEDED
3.
NUMBER OF CI s PER CA
2 .
NUMBER OF CI s NEEDED
1 .
PHYSICAL BLOCKS
CONTROL INTERVAL 1 CONTROL INTERVAL 2 CONTROL INTERVAL 3
PB PB PB PB
PB PB
PB
PB
PB
PB
PB
PB
TRACK 1
TRACK 2
TRACK 3
TRACK 4
512 1024 1536 2048 2560 3072 3584 4096 4608 5120 5632 6144 6656 7168 7680
18432
20480 22528 24576 26624 28672 30720 32768
18432
10240 5632 24576 26624 7168 10240 16384
6144
20480 22528 6144 6656 14336 6144 8192
3
5 9 2 2 7 5 3
7
2 2 7 6 3 7 5
8192
8192
8192
CISZ-(CISZ * CIFSPC) -10 RECIRD LENGTH (ROUND DOWN) CISZ - (CISZ * CIFSPC) - 4 AVG.RECORD LENGTH + 3 (ROUND DOWN) 1
LDS SIZING
ASSUMPTIONS :
* DASD - 3380
ALLOCATION:
ESDS SIZING
ASSUMPTIONS: * CISZ -2K * RECORD SIZE - 200 BYTES * CA SIZE - 1 TRACK * DASD - 3380 * NUMBER OF RECORDS - 6000 ALLOCATION:
RRDS SIZING
ASSUMPTIONS: * CISZ - 4K * RECORD SIZE - 100 BYTES (FIXED LENGTH) * CA SIZE - 3380
ALLOCATION:
ALTERNATIVE:
RECORD ALLOCATIONS
PRO * EASY TO SPECIFY * INDEPENDENT OF DASD ARCHITECTURE
CON
{{ { { { {
H
1021 1001 1052 1022
1333
2799
1061 A
1401
}F
1402
1424 1428
Topic Objectives
TERMINAL OBJECTIVE
After attending this topic the student should understand the use of ICF(Integrayted Catalog Facility) catalogs in the MVS environ ment. Enabling objectives:
CATALOG OVERVIEW
MVS/ESA
ICFUSER CATALOGS
VSAM DATASETS
ICF CATALOG
DATA COMPONENT
CATALOG STRUCTURE
VSAM.DATA VVDS
NONV.DATA
VTOC
VTOC
CATALOG INFORMATION
EXTENT INFO.
VTOC BCS
}
EXTENT INFO. CI SIZE REC.SIZE
VVDS
. . .
. . .
First half of system time stamp Julian date VDD=data component VID=index component Last half of system time stamp(aaaaaaa bbbbbbb) Cluster highlevel qualifier
DEFINE ALIAS
WHERE: alias = up to four dsname qualifiers BCS name = user catalog that is to contain dsnames beginning with alias name
UCAT1
UCAT 2
UCAT 3
AR.CUSTOMER AR BILLING
AP.MASTER AP.PAYMENTS
GL.MASTER
IDCAMS CATALOG
JOB DD DISP = {OLD/ SHR}, DSNAME = usercatname EXEC PGM = SAMP1 DD DISP = {OLD/SHR), DSNAME = usercatname
Topic objectives
Terminal objective:
After attending this topic the student should know how to invoke and use the Access Method Services program,IDCAMS.
Enabling objectives: Upon completion of this topic the student should be able to :
* * * * Code the JCL needed to run IDCAMS. Code DEFINE CLUSTER for specific VSAM data set organizations. Code LISTCAT to format entries from a catalog. Using the Access Method Services manual, interpret the output from a LISTCAT.
LOADING UNLOADING
IDCAMS
MODIFY DATASET ATTRIBUT ES
DELETE VSAM OBJECTS
REPRO
COPYING
TSO COMMANDS
READY DEFINE CLUSTER -: LISTCAT
SERVICE REQUESTED
END OF COMMAND
MARGINS
SEPARATORS COMMENTS CONTINUATION TERMINATOR
DEFAULT TO 2 & 72 CAN BE CHANGED BY PARM BLANK, COMMA OR COMMENT /*_ _ _ _ _ _ _ _ _ _ _*/ HYPHEN, PLUS SIGN SEMICOLON OR ABSENCE OF CONTINUATION MARK
INCORRECT SYNTAX
//------------------JOB-----------------//TEST EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT =A //SYSIN DD * DEFINE CLUSTER (NAME(TSOLA48.PROD.BILLING.KSDS2) INDEXED VOLUMES(EDPAK8)) DATA (NAME(TSOLA48.PROD.BILLING.KSDS2.DATA)) FREESPACE (20 10) IDC3211I KEYWORD FREESPACE IS IMPROPER RECORDSIZE(100 100) KEYS(5 4) CISZ(4096) CYLINDERS(2 1) INDEX (NAME(TSOLA48.PROD.BILLING.KSDS2.INDEX) CISZ(10240) IMBED) IDC32021 ABOVE TEXT BYPASSED UNTIL NEXT COMMAND,COND. CODE IS 12
DEFINE SPECIFICATIONS
DEFINE CLUSTER :
( ( (
ALLOCATION
FILE
PROTECTION
RETENTION OWNERSHIP
KSDS ONLY
) ) )] -
)-
VOLUMES
DEFINE CLUSTER . . VOLUMES (volser [volser..]) . . .
PUB101
PRIME
PUB102
PRIME
CANDIDATE
* CYL(primary[secondary] ) * TRK (primary [secondary] ) * REC (primary [secondary] ) * KB (primary [secondary] ) * MB (primary [secondary] )
ALLOCATION
AT :
RECORD SIZE
* SEQUENTIAL / SKIP SEQUENTIAL LARGER DATA CI IMPROVES PERFORMANCE WITH THE TASK * DIRECT SMALLER DATA CI IMPROVES PERFORMANCE WITHIN THE TASK * SEQUENTIAL / SKIP SEQUENTIAL AND DIRECT SMALLER DATA CI MULTIPLE BUFFERS WHEN PROCESSING SEQUENTIALLY
Bytes 1-4
field 1
Bytes 5- 12
field 2
Bytes 13 -18
field 3
OFFSET 0
EXAMPLES : If field1 is key If field3 is key Default :
OFFSET 12
* FREE SPACE WILL BE USED IF INSERTING IN FRONT OF FREESPACE THRESHOLD * FREE SPACE WILL BE PRESERVED IF - LOADING FILE - EXTENDING FILE - INSERTING AT END OF CI
* MORE CI / CA SPLITS * AFTER SPLITS, POSSIBLY MORE TIME FOR SEQUENTIAL PROCESSING, BECAUSE FILE IS NOT IN PHYSICAL SEQUENCE
LISTCAT SPECIFICATIONS
CREATION ( ) EXPIRATION (
ENTRIES ( ) LEVEL ( )
LISTCAT LEVEL
LISTCAT STRUCTURE
CLUSTER-----------------------------------------------------------------History.. Protection.. Associations..
//-------------------------JOB-----------------------------//TEST EXEC PGM = IDCAMS //SYSPRINT DD SYSOUT = A //SYSIN DD * DEFINE CLUSTER ( NAME ( EXAMPLE . LINEAR ) LINEAR VOLUMES ( EDPAK 8 ) TRACKS ( 5 5 )) LISTCAT ENTRIES ( EXAMPLE . LINEAR ) ALL
LINEAR LISTCAT
LISTCAT ENTRIES (EXAMPLE . LINEAR) ALL CLUSTER ------- EXAMPLE . LINEAR IN-CAT ---- ICFCAT . EDPAK 8 HISTORY OWNER-IDENT----------(NULL) CREATION------------1989.045 RELEASE------------------2 EXPIRATION--------- 0000.00 PROTECTION-PSWD------(NULL) RACF-------------------(NO) ASSOCIATIONS DATA---------EXAMPLE. TBE20948. VDD89045 T9F DED61 DATA---------------EXAMPLE. TBE20948. VDD89045 T9F DED61 IN-CAT--------ICFCAT. EDPAK8 HISTORY OWNER-IDENT---------(NULL) CREATION------------1989.045 RELEASE----------------2 EXPIRATION-------- 0000.000 PROTECTION-PSWD-----(NULL) RACF------------------- (NO) ASSOCIATIONS CLUSTERS--EXAMPLE. LINEAR ATTRIBUTES KEYLEN-----------------0 AVGLRECL------------ 0 BUFSPACE-------8192 RKP-----------------------0 MAXLRECL------------ 0 EXCPEXIT--------(NULL) SHR OPTNS (1,3) RECOVERY UNIQUE NOERASE LINEAR NOWRITECHK UNORDERED NOERASE NONSPANNED STATISTICS REC-TOTAL------------0 SPLITS-CI-------------- 0 EXCPS--------------0 REC-DELETED--------0 SPLITS-CA--------------0 EXTENTS----------1 REC-INSERTED------0 FREESPACE-%CI------0 SYSTEM-TIMESTAMP. REC-UPDATED-------0 FREESPACE-%CA-----0 X00000000000000 REC-RETRIEVED----0 FREESPACE-BYTES--0 ALLOCATION SPACE-TYPE---------TRACK HI-ALLOC-RBA-------204800 SPACE-PRI------------5 HI-USED-RBA---------0 SPACE-SEC-----------5 VOLUME VOLSER---------------EDPAK 8 PHYREC-SIZE--------4096 HI-ALLOC-RBA---204800 DEVTYPE-------------X3010200 E PHYRECS/TRK------10 HI-USED-RBA-----0 VOLFLAG-------------PRIME TRACKS/CA---------5 EXTENTS LOW-CCHH-----------X0111000A LOW-RBA-----------0 TRACKS-------------5 HIGH-CCHH----------X0111000E HIGH-RBA----------204799
EXTENT-NUMBER------1 EXTENT-TYPE------------X40
//----------------------------JOB-------------------------//TEST EXEC PGM = IDCAMS //SYSPRINT DD SYSOUT = A //SYSIN DD * DEFINE CLUSTER ( NAME ( EXAMPLE . TEST . ESDS ) NIXD VOLUMES (EDPAK 8) CYL ( 5 5 )) LISTCAT ENTRIES ( EXAMPLE . TEST . ESDS ) ALL
ESDS LISTCAT
CLUSTER -----------------EXAMPLE . TEST . ESDS IN-CAT------------ICFCAT.EDPAK 8 HISTORY OWNER-IDENT----------------(NULL) CREATION-------1989.045 RELEASE------------------------2 EXPIRATION----0000.000 PROTECTION-PSWD------------(NULL) RACF--------------(NO) ASSOCIATIONS DATA--------EXAMPLE.T25BBEBE.VDD89045.T9FDED59 DATA-----------EXAMPLE.T25BBEBE.VDD89045.T9FDED59 IN-CAT-----ICFCAT.EDPAK 8 HISTORY OWNER-IDENT-----------(NULL) CREATION-------1989.045 RELEASE-------------------2 EXPIRATION----0000.000 PROTECTION-PSWD-------(NULL) RACF--------------(NO) ASSOCIATIONS CLUSTER--EXAMPLE.TEST.ESDS ATTRIBUTES KEYLEN---------------------0 AVGLRECL-----4089 BUFSPACE---------57344 CISIZE--------28672 RKP---------------------------0 MAXLRECL-----4089 EXCPEXIT----------(NULL) CI/CA---------22 SHROPTNS(1,3) RECOVERY UNIQUE NOERASE NONINDEXED..NOWRITECHK NOIMBED NOREPL ICATE STATISTICS REC-TOTAL----------------0 SPLITS-CI---------- 0 EXCPS----------------0 REC-DELETED------------0 SPLITS-CA--------- 0 EXTENTS------------1 REC-INSERTED-----------0 FREESPACE-%CI---0 SYSTEM-TIMESTAMP REC-UPDATED-----------0 FREESPACE-%CA--0 X00000000000000 REC-RETRIEVED--------0 FREESPC-BYTES--3153920 ALLOCATION SPACE-TYPE--------CYLINDER HI-ALLOC-RBA---3153920 SPACE-PRI----------5 HI-USED-RBA-----0 SPACE-SEC---------5 VOLUME VOLSER-------------EDPAK 8 PHYREC-SIZE------14336 HI-ALLOC-RBA----3153920 EXTENT-NUMBER----1 DEVTYPE----------X3010200E PHYRECS/TRKS----3 HI-USED-RBA------0 EXTENT-TYPE---------X40 VOLFLAG---------PRIME TRACKS/CA --------15 EXTENTS: LOW-CCHH-------X011F0000 LOW-RBA-----------0 TRACKS---------------75 HIGH-CCHH------X0123000E HIGH-RBA----3153919
//-------------------------JOB------------------//TEST EXEC PGM = IDCAMS //SYSPRINT DD SYSOUT = A //SYSIN DD * DEFINE CLUSTER (NAME ( PROD.VENDOR.RRDS1 ) NUMBERED VOLUMES ( EDPAKS 8) RECORDSIZE (100 100) /* FIXED LENGTH */ CISZ (4096)) DATA (NAME (PROD.VENDOR.RRDS1.DATA ) CYLINDERS (5 1)) LISTCAT ENTRIES (PROD.VENDOR.RRDS1) ALL
RRDS LISTCAT
CLUSTER---------------PROD.VENDOR.RRDS1 IN-CAT--------ICFCAT.EDPAK8 HISTORY OWNER-IDENT------------(NULL) CREATION---------------1989.045 RELEASE--------------------2 EXPIRATION------------0000.000 PROTECTION-PSWD---------(NULL) RACF-----------------------(NO) ASSOCIATIONS DATA---------PROD.VENDOR.RRDS1.DATA DATA--------------PROD.VENDOR.RRDS1.DATA IN-CAT--------ICFCAT . EDPAK8 HISTORY OWNER-IDENT---------(NULL) CREATION---------------1989.045 RELEASE-----------------2 EXPIRATION------------0000.000 PROTECTION-PSWD------(NULL) RACF-----------------------(NO) ASSOCIATIONS CLUSTER--PROD.VENDOR.RRDS1 ATTRIBUTES KEYLEN-------------------0 AVGLRECL--------------100 RKP-------------------------0 MAXLRECL--------------100 RECORDS/CI-------------39 MAXRECS----------40894464 SHROPTNS(1,3) RECOVERY UNIQUE NOERASE UNORDERED NOREUSE NONSPANNED STATISTICS REC-TOTAL---------------0 SPLITS-CI------------------0 REC-DELETED-----------0 SPLITS-CA-----------------0 REC-INSERTED----------0 FREESPACE-%CI---------0 REC-UPDATED----------0 FREESPACE-%CA--------0 REC-RETRIEVED--------0 FREESPC-BYTES-----3072000 ALLOCATION SPACE-TYPE-------CYLIDER HI-ALLOC-RBA------3072000 SPACE-PRI-----------------5 HI-USED-RBA-------------0 SPACE-SEC----------------1 VOLUME VOLSER----------------EDPAK8 PHYREC-SIZE-----------4096 DEVTYPE--------------X3010200E PHYRECS/TRK----------10 VOLFLAG--------------PRIME TRACKS/CA--------------15 EXTENTS LOW-CCHH-----------X01240000 LOW -RBA----------------0 HIGH-CCHH----------X0128000E HIGH-RBA----------3071999
HI-ALLOC-RBA----3072000 HI-USED-RBA----------0
EXTENT-NUMBER-----1 EXTENT-TYPE--------X40
TRACKS-----------------75
HI-ALLOC-RBA---1843200 HI-USED-RBA----------0
EXTENT-NUMBER-----1 EXTENT-TYPE--------X40
TRACKS-----------------45
HI-ALLOC-RBA---40960 HI-USED-RBA----------0
EXTENT-NUMBER-----1 EXTENT-TYPE--------X40
TRACKS-----------------1
DEFINE
MODELED AFTER
DEFINE CLUSTER ( NAME ( TEST.BILLING.KSDS2 ) MODEL ( PROD.BILLING.KSDS2 ) VOLUMES ( EDPAK8 )) DATA ( NAME (TEST.BILLING.KSDS2.DATA) CYLINDERS (1 1 )) INDEX ( NAME (TEST.BILLING.KSDS2.INDEX ))
LISTCAT ENTRIES ( TECH.TEST.ESDS ) HISTORY CLUSTER-------------------------- TECH.TEST.ESDS IN-CAT ------------------- ICFCAT.EDPAK8 HISTORY OWNER-IDENT------ (NULL) CREATION------------1989.045 RELEASE------------2 EXPIRATION---------0000.000 DATA------------TECH.TO379788.VDD89045.T9FDEDCD IN-CAT----- ICFCAT.EDPAK8 HISTORY OWNER -IDENT------(NULL) CREATION------------1989.045 RELEASE----------------- 2 EXPIRATION---------0000.000 S
LISTCAT ENTRIES ( TECH.TEST.ESDS) VOLUME CLUSTER ------------------TECH.TEST.ESDS IN-CAT ----------- ICFCAT.EDPAK8 HISTORY OWNER-IDENT --------------(NULL) CREATION---------------1989.045 RELEASE-----------------------2 EXPIRATION-------------0000.000 DATA-------------------TECH.T0379788.VDD89045.T9FDEDCD IN-CAT-------------ICFCAT EDPAK8 HISTORY OWNER-IDENT--------------(NULL) CREATION----------------1989.045 RELEASE----------------------2 EXPIRATION-------------0000.000 VOLUMES VOLSER-----------------------EDPAK8 DEVTYPE------------------X3010200E LISTCAT ENTRIES (TECH.TEST.ESDS) ALLOCATION CLUSTER ----------------------------------TECH.TEST.ESDS IN-CAT---------------------------ICFCAT.EDPAK8 HISTORY OWNER-IDENT-------------(NULL) CREATION-----------------1989.045 RELEASE---------------------2 EXPIRATION-------------- 0000.000 DATA-------------TECH.T0379788.VDD89045.T9FDEDCD IN-CAT-------ICFCAT EDPAK8 HISTORY OWNER-IDENT-------------(NULL) CREATION-----------------1989.045 RELEASE---------------------2 EXPIRATION--------------0000.000 ALLOCATION SPACE-TYPE-------------CYLINDER HI-ALLOC-RBA----------3153920 SPACE-PRI-------------------5 HI-USED-RBA------------0 SPACE-SEC------------------5 VOLUME VOLSER-------------------EDPAK8 PHYREC-SIZE------------14336 HI-ALLOC-RBA---------3153920 DEVTYPE----------------X3010200E PHYRECS/TRK ----------3 HI-USED-RBA------------0 VOLFLAG---------------PRIME TRACKS/CA--------------15 EXTENTS LOW-CCHH-------------X011F0000 LOW -RBA-----------------0 TRACKS--------------------75 HIGH-CCHH-------------X0123000E HIGH -RBA-----------3153919
EXTENT-NUMBER-------1 EXTENT-TYPE----------X40
From DFP V3 and up : VSAM Cluster can be : * Created * Deleted through JCL
MVS-allocation
* RECORD =
* KEYOFF = offset -to-key (for KSDS only) * KEYLEN = bytes (for KSDS and some non-VSAM data sets)
New: SPACE AVGREC LRECL EXPDT / RETPD LIKE / REFDD DATACLAS MGMTCLAS STRORCLAS SECMODEL
ESDS
//dd2 // // // //
LINEAR
(TEMP)
//dd3 // // // //
ISMF
create
DATA CLASSes
................. .................
STORAGE ADMINISTRATOR
Page 1 of 2
DESCRIPTION===> SMALL FIXED LENGTH RECORD DATA SETS ===> RECORG ===> (KS, ES, RR, LS or blank) RECFM ===> FB (any valid RECFM combination or blank) LRECL ===> 80 ( 1 to 32781 or blank) KEYLEN ===> (0 to 255 or blank) KEYOFF ===> (0 to 32760 or blank) SPACE AVGREC ===> U (U, K, M or blank) AVG VALUE==> 80 (0 to 65535 or blank) PRIMARY ==> 1000 (0 to 999999 or blank) SECONDARY==> 1000 (0 to 999999 or blank) DIRECTORY==> (0 to 999999 or blank) RETPD OR EXPDT ==> (0 to 9999,yyyy/mm/dd or blank) USE ENTER TO PERFORM VERIFICATION;USE DOWN COMMAND TO VIEW NEXT PANEL USE HELP COMMAND FOR HELP;USE END COMMAND TO SAVE AND EXIT;CANCELTO EXIT
DATACLASS LRECL RECORG SPACE AVGREC AVG VALUE PRIMARY SECONDARY CISIZE data
RESULTS
LRECL RECORG SPACE AVGREC AVG VALUE PRIMARY SECONDARY CISIZE data
:260 :RR
:K :100 :10 :10 :1024
DC attributes - combinations
RECORG LRECL RECFM KEYLEN KEYOFF SPACE VOLUME CNT CISIZE IMBED REPLICATE FREESPACE SHARE OPT X X BLANK X X X X X X X X X X X X X X X X X X X X X X X KS X ES X RR X LS
USE ENTER TO PERFORM VERIFICATION;USE UP COMMAND TO VIEW PREVIOUS PANEL;USE HELP COMMAND FOR HELP;USE END COMMAND TO SAVE AND EXIT; CANCEL TO EXIT.
REPRO
DATA SET A
REPRO (COPY)
DATA SET B
VSAM nonVSAM
OUTDATASET ( EXAMPLE.KSDS.OUTPUT)
//STEP1
EXEC
PGM=IDCAMS
VALID FOR:
REPRO EXAMPLE
//STEP1
//SYSPRINT
EXEC
DD
PGM=IDCAMS
SYSOUT=A
//SYSIN
DD
VSAM BEFORE
VSAM AFTER 3 6 15
15
REPRO
INFILE(INPUT)
OUTFILE(VSAM)
NOREPLACE
4 6 17 NOT COPIED
3 6* 15
15
4
6*
17
INPUT
VSAM BEFORE
VSAM AFTER
9
15*
3
4 6
15
17
3
4 6
9
15* 17
replaced
//BACKUP EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=A //MSTR DD DSN=EXAMPLE.MSTR.FILE,DISP=OLD //BKUP DD DSN=EXAMPLE.BKUP..FILE,DISP=OLD //SYSIN DD * REPRO INFILE( MSTR) OUTFILE (BKUP) REUSE
EFFECT OF REUSE
BACK-UP PROGRAM SETS HI - USED -RBA =0
OPEN OUTPUT BKUP -FILE (defined REUSE) . . WRITE BKUP - REC . . CLOSE BKUP - FILE
HI - USED -RBA AND OTHER CATALOG INFORMATION AS IF DATA SET WAS LOADED FOR THE FIRST TIME
LOAD Vs MERGE
COMMAND
TARGET
RESULT
TARGET NON-EMPTY TARGET EMPTY
REPRO
MERGE
LOAD
NOREUSE
MERGE
LOAD
REPRO
LOAD
LOAD
REUSE
FAIL
LOAD
COMMAND
SYSPRINT
SKIP(number)
COUNT(number)
FROMKEY(key-value)
FROMADDRESS(rba)
TOKEY(key-value)
TOADDRESS(rba)
FROMNUMBER(rrn)
TONUMBER(rrn)
DELETE CLUSTER
SCRATCH
NOSCRATCH
0 = Command completed as expected 4 = A minor problem occured, but it was possible to continue 8 = Requested function was completed, but major specifications were unavoidably bypassed 12 = Requested function could not be performed 16 = A severe error occured, remainder of the command stream is flushed
MODEL COMMANDS
SYNTAX : IF { LASTCC MAXCC} comparand number THEN [command or DO command set END] [ELSE [command or DO command set END] ]
EXAMPLE : //SYSIN DD * REPRO IDS (EXAMPLE . INPUT) ODS (EXAMPLE . MYDATA) IF LASTCC = 0 THEN PRINT IDS (EXAMPLE . MYDATA ) CHAR ELSE DO LISTCAT ENT (EXAMPLE . INPUT ) ALL LISTCAT ENT (EXAMPLE . MYDATA ) ALL END
* * * * *
PRCESSING OPTIONS OPEN PROCESSING JCL CONSIDERATIONS ISAM INTERFACE PROGRAM (IIP) LANGUAGE CONSIDERATIONS - ASSEMBLER - COBOL - PL/I - FORTRAN
SEQUENTIAL ( BWD )
DIRECT
SKIP - SEQUENTIAL
- ACCESS TO DATA RECORD - VSAM MANAGES BUFFERS - VSAM UPGRADES ALTERNATE INDEXES
- ACCESS TO CONTROL INTERVAL - VSAM OR USER BUFFERING - USER UPGRADES ALTERNATE INDEXES
CATALOG
JCL
VSAM DETERMINES PROCESSING OPTIONS: - WHEN THE DATA SET IS OPENED - BY MERGING INFORMATION FROM JCL DD STATEMENTS, PROGRAM CONTROL BLOCKS AND THE CATALOG ORDER OF PROCESSING: 1. CATALOG ENTRY FOR THE DATA SET 2. PROGRAM CONTROL BLOCKS 3. DD STATEMENT AMP KEYWORD
JCL CONSIDERATIONS
//ddname
//.
DD
..AMP = ( [ AMORG ] [ ,BUFND = number ] [, BUFNI = number ] [, BUFSP =number ] [,CROPS = {RCK NCK NRE NRC } ] [,OPTCD = {I L IL } ] [,RECFM = {F FB V VB } ] [,STRNO = number ] [,SYNAD = modulename ] [,TRACE ] )
THE ISAM INTERFACE PROGRAM * MAKES THE TRANSITION FROM ISAM TO VSAM EASIER
ISAM
APPLICATION PGM
IIP
KSDS
CONVERSION STEPS
DEFINE KSDS VARIABLE LENGTH RECORDS: REC LEN = ISAM DCBLRECL - 4 KEY LEN = ISAM DCBKEYLE KEY POS = ISAM DCBRKP -4 FIXED LENGTH RECORDS: REC LEN = ISAM DCBLRECL (+DCBKEYLE, IF DCBRKP =0 AND RECORDS UNBLOCKED) KEY LEN = ISAM DCBKEYLE KEY POS = ISAM DCBRKP REPRO
//CONVERT //JOBCAT //STEP //SYSPRINT //ISAM //VSAM //SYSIN REPRO JOB DD EXEC DD DD DD DD DISP = SHR,DSNAME =USERCTLG PGM = IDCAMS SYSOUT = A DISP=OLD,DSNAME=ISAMDATA,DCB=DSORG =IS DISP = DSNAME = VSAMDATA *
JOB EXEC PGM = ISAMPGM DD DSN = MY.CONVRTD.KSDS,DISP = SHR, AMP= ( AMORG,RECFM =FB, STRNO=1)
//.
DATA SET
REQUEST MACROS
CLOSE macro
ACB
GENCB ACB
RPL
GENCB RPL
ADR CNV KEY DIR FWD LOC NSP SEQ SKP BWD MVE NUP UPD
Record or CI access Access mode Forward or Backward LOCATE or MOVE mode Retrieval for UPDATE or NOUPDATE
MACRO RELATIONSHIPS
//ddname DD DSNAME = dsname,DISP = { OLD SHR } [label ] [label ] [label] OPEN get put RPL ( address [ ,(options) ,] RPL = address [ACB =address ] [ , OPTCD = (DIR SEQ SKP])
[label]
ACB
. [ , DDNAME =dname] [ , MACRF = ( DIR ][,SEQ] [,SKP] [,IN] [.OUT][,NRS] [,RST][])] [ , EXLST = address ]
[EODAD = address] [,LERAD = address] [,SYNAD = address]
[label]
EXLST
RETRVE
RPL
. . LOOP .GET RPL = RETRVE LTR 15, 15 BNZ ERROR . B ERROR IN DS LOOP
CL 100
JCL DD STATEMENT
RRDS SELECT FILE-C ASSIGN TO FILECDD ORGANIZATION IS RELATIVE 2. ACCESS MODE IS RANDOM RELATIVE KEY IS REC - NO 3. FILE STATUS FILE - STAT
COBOL FD STATEMENTS
FD
filename
01
OPEN CLOSE
START
establish position for continued sequential retrieval retrieval of data replace existing record add a new record delete existing record
COBOL LIMITATIONS
* CI ACCESS
VSAM PROCESSING - PL / I
PL / I SUPPORTS :
* SKIP - SEQUENTIAL PROCESSING * BACKWARD PROCESSING * SEQUENTIAL INSERT STRATEGY ( SIS) * RBA ADDRESSING
PL / I FILE DECLARATIONS
SEQUENTIAL
DCL filename FILE RECORD INPUT OUTPUT UPDATE SEQUENTIAL BUFFERED [ KEYED ] ENVIRONMENT (options) : ENVIRONMENT OPTIONS : BKWD BUFND (n) BUFNI (n) BUFSP (n) COBOL GENKEY PASSWORD (pw) REUSE SCALARVARYING SIS SKIP VSAM
DIRECT
DCL filename FILE RECORD INPUT OUTPUT UPDATE DIRECT UNBUFFERED [ KEYED ] ENVIRONMENT (options) :
PL / I ERROR HANDLING
UPDTPGM : PROC OPTIONS ( MAIN) ; DCL MASTER FILE RECORD UPDATE DIRECT UNBUFFERED KEYED ENVIRONMENT ( VSAM) ; DCL ONCODE BUILTIN ; : : ON ENDFILE ( TRANSIN ) GO TO PRINT ; ON KEY (MASTER ) BEGIN ; IF ONCODE = 51 THEN CALL NOTFOUND; ELSE IF ONCODE = 52 THEN CALL DUPREC ; ELSE CALL UNDEFINED ; END; OPEN FILE ( MASTER ) ; : :
FORTRAN SUPPORTING
SEQUENTIAL
DIRECT
ESDS
RRDS
(RRN)
KSDS
( KEY)
LDS
(DIV) ( DIV)
Sequential access
OPEN WRITE REWRITE DELETE READ BACKSPACE REWIND CLOSE YES 1 YES 6 NO NO YES YES YES YES
Sequential access
YES YES NO NO NO2 YES3 YES5 YES3 YES5 YES3 YES
Keyed Access
YES YES 7 YES YES YES YES YES YES
EXAMPLE :
4 BYTES
INTEGER*2 12 (2) INTEGER*4 1 EQUIVALENCE (12,1) OPEN (10,ACCESS = DIRECT,RECL = 100) WRITE (10,REC =99,IOSTAT =1,ERR =1000) : 1000 WRITE (6,*) VSAM ERROR : RETURN CODE = , 12(1), 2 REASON CODE =, 12(2)
INTEGRITY REQUIREMENTS
MVS
VTAM
CICS
TSO
BATCH
DATA SET
SHARING IN A REGIOM
SAME ACB SAME DD STATEMENT SAME DSNAME MACRF = DDN MACRF = DSN
RPL2 - DIR
ACB
RPL3 - DIR
RPL - SEQ
ACB1
SHARING IN A SYSTEM
//MYDATA
DD
//OTHER
DD
CHECK SHAREOPTIONS
VSAM SHAREOPTIONS
PURPOSE : READ INTEGRITY AND / OR WRITE INTEGRITY
: : SHR (1,3)
: :
CROSS SYSTEMS
CROSS REGION
1 MULTIPLE READ OR ONE WRITE READ / WRITE
CROSS SYSTEM
SHAREOPTION 3 or 4
DISP = SHR
SERIALIZED UPDATES
USER SERIALIZATION
CROSS REGION SHARING :
ENQ macro
:
READ
UPDATE
REWRITE
DEQ macro
CROSS REGION
CROSS SYSTEM 1 UNUSED 2 UNUSED 3 MULTIPLE READS AND MULTIPLE WRITES 4 MULTIPLE READS AND MULTIPLE WRITES
INTEGRITY REQUIRES USE OF RESERVE AND DEQ * WRITE PROCESSING MAY NOT ALTER HI-USED-RBA
USER FULLY RESPONSIBLE FOR INTEGRITY * USE RESERVE / DEQ MACROS * PASS VSAM SHARED INFORMATION TO OTHER * SYSTEMS
SPEED IS USED FOR INITIAL LOAD ONLY RESUME LOAD (EXTENDING) ALWAYS USES RECOVERY AFTER SOFTWARE-END-OF-FILE IS WRITTEN, THE FILE IS IN RECOVERY MODE
SPEED EXAMPLE
LOADING 10 15 20 RDF RDF CIDF
30
40
35
40
RDF
RDF
RDF
CIDF
CA1 CIDF
CA2
STEP1 PREFORMATTING
RECOVERY EXAMPLE
CIDF
CIDF CIDF SEOF CA2 CA1
00000
00000 00000
STEP 2: LOADING 10 30 50 90 15 20 26 43 87 RDF RDF RDF RDF RDF CIDF RDF CIDF RDF CIDF RDF CIDF CIDF CIDF SEOF CA3 CA1
35 40 73 81 98
CA2
VERIFY COMMAND
ICF CATALOG TEST.DATA.SET DATA SET TEST.DATA.SET
END-OF-KEY-RANGE
END-OF-KEY-RANGE
VERIFY : COMPARES CATALOG INFO WITH THE DATA SET CORRECTS CATALOG IF A DISAGREEMENT IS FOUND
VERIFY EXAMPLE
//SYSPRINT DD SYSOUT = A
//SYSIN
DD *
LISTCAT VERIFY LISTCAT ENTRIES ( TEST .DATA. SET ) ALL DATASET ( TEST .DATA .SET) ENTRIES ( TEST .DATA .SET ) ALL
DELETE ERASE : Removes BCS / VTOC / VVDS records Overwrites areas with X 00 s Additional overhead Describe for sensitive data DELETE NOERASE : Removes BCS / VTOC / VVDS records Recommended
ACCESS TYPE
DEFINEPARAMETER*
* * * *
PASSWORD SOECIFICATIONS
CASE 1:
DEFINE : READPW (ALLOW)
CASE 2:
DEFINE : READPW (ALLOW) CONTROLPW (ALLOWIT)
RESULTS IN :
YES
YES*
NO
YES
RACF PROTECTION
RESOURCE ACCESS CONTROL FECILITY -Optional software access control manager PROVIDES PROTECTION FOR
RACF
Vs.
VSAM PASSWORDS
SYSTEM WIDE SECURITY GENERIC AND DISCRETE PROFILES - PAYROLL.* - TSOID.* READ / UPDATE / CONTROL / ALTER LEVELS (COMPATIBLE WITH VSAM PASSWORD LEVELS) ICF CATALOG RACF PROTECTION NOT REQUIRED FOR DATA SET RACF PROTECTION USVR BYPASSED ERASE ATTRIBUTE IN RACF PROFILE OVERRIDES AMS ERASE NOERASE
READ / UPDATE /CONTROL / MASTER LEVELS CATALOG PASSWORD PROTECTION REQUIRED FOR DATA SET PASSWORD CHECKING USVR BYPASSED IF MASTER PASSWORD SPECIFIED DELETE ERASE NOERASE USED
TOPIC 8 : Buffering
Topic objectives Terminal objectives : After attending this topic the student should know how buffers are used and when buffer space should be modified. Enabling objectives : Upon completion of this topic the student should be able to : * * * * Explain the use of data and index buffers in sequential and direct processing. Evaluate the use of JCL AMP keywords to influence buffering. Code the buffer keywords in the DD statement. Explain the impact of buffering and SHAREOPTION modifications.
BUFFERS
DATA COMPONENT
DATA BUFFERS
APPLICATION PROGRAM
ADDRESS SPACE
AMS DEFINE
STRNO CONCEPT
ACB
DATA SET
RPL 2
: : MACRF = ( IN, OUT, SEQ, SKP, DIR ..), STRNO = number, BUFSP = size, BUFND =number, BUFNI = number : :
:
BUFFERSPACE AT OPEN
PROCESSING MODE MINIMUM ADDITIONAL (IF ANY) index data index data index data index data index data
DIRECT SEQUENTIAL
DIRECT, SEQUENTIAL
SKIP SEQUENTIAL
data
data
SAMPLE KSDS
IS 1
IS 2
IS 3
IS 4
SS 1
.. CI 1
SS 2
.. CI 7
SS 3
.. CI 13
SS 4
..
SS5
..
SS6
..
SS7
..
SS8
..
SS9
.. CI 49
SS 10
..
SS 11
..
SS 12
..
CI 2
CI 3 CI 4
CI 8
CI 9
CI 20
CI 26
CI 45 CI 34 CI 57
CI 46
CI 5 CI 6 CI 18
CI 36 CA 4 CA 5 CA 6 CA 7 CA8 CA 8 CA 10 CA 11 CA 12
CA 1
CA 2
CA 3
INDEX BUFFER SS 1
DATA BUFFER 1 CI 1 CI 3
DATA BUFFER 2 CI 2 CI 4
ONLINE TRANSACTIONS ?
DATA BUFFERS ?
BATCH JOB ?
INDEX BUFFERS?
BUFFER RECOMMENDATIONS
DEFAULT * DATA : STRNO + 1 RECOMMENDATIONS * DATA : default * INDEX : minimum: no. index levels - 1 maximum: index set + STRNO * DATA : 3 + STRNO * INDEX : default
DIR
* INDEX : STRNO
* DATA : STRNO + 1
SEQ
* INDEX : STRNO
SHR
DISP = SHP
DIRECT PROCESSING
BUFFERS REFRESHED EACH READ MINIMUM BUFFERS MAY IMPROVE PERFORMANCE * NO CA SPLITS
: :
ACB BUFSP = BUFND = BUFNI = STRNO = MACRF = ( ) ALL BUFF CB RMODE 31= NONE : : VSAM BUFFERS AND CONTROL BLOCKS 16M
WORK AREA
APPLICATION PROGRAM 0M
ALTER PARAMETERS
X X X X X X X X X X X X X X X X X X X X X
X X
AUTHORIZATION X
BIND
BUFFERSPACE BUFND BUFNI CODE X
X
X
X
X
X
X X X
X
X
CONTROL PW
CYLINDERFAULT DESTAGEWAIT EMPTY ERASE EXCEPTIONEXIT FOR FREESPACE
X
X X
X
X X
X
X X
X
X X
X
X X X
X X X X X X
X X X X X : X : X X X X
X X X
SHAREOPTIONS
ALTERING BUFFERSPACE
DATA BUFFERS
CL 1 CL2 CL 3 CL 4 MORE DATA BUFFERS NEEDED
ALTERING FREESPACE
SOLUTION : * Define data set with FSPS (0,0) * Load first part of data set * Alter FREESPACE attribute of data set * Complete the loading of the data set
ALTERING PASSWORDS
ADDING / CHANGING PASSWORDS :
ALTER entryname [ / password ] [READPW( password)] [ UPDATEPW ( passwprd ) ] [ CONTROLPW ( password ) ] [ MASTERPW ( password ) ]
NULLIFYING PASSWORDS :
ADDING VOLUMES
Volume is full ( or almost full ) : : : Insufficient time to delete, redefine, and reload the data set with more space : SOLUTION : ALTER data set attributes providing a CANDIDATE volume for expansion .
GENERIC ALTERATIONS
CATALOG
EXAMPLE 1:
PAY.Y1988.DATA.A OWNER(DUTT) : PAY.Y1988.DATA.B OWNER(DUTT) : PAY.Y1988.DATA.C OWNER(SINGH) :
CATALOG
PAY.Y1989.DATA.A OWNER(DUTT) : PAY.Y1989.DATA.B OWNER(DUTT) : PAY.Y1989.DATA.C OWNER(SINGH) :
CATALOG
PAY.Y1989.DATA.A OWNER(BROWN) : PAY.Y1989.DATA.B OWNER(BROWN) : PAY.Y1989.DATA.C OWNER(BROWN) :
EXAMPLE 2:
ALTER PAY.Y1989.DATA.* OWNER (BROWN)
REQUIREMENTS :
- EXISTING ESDS * CISZ(4096) * NONSPANNED * AIXs - CANNOT ALTER BACK TO ESDS
TOPIC 10 : Tuning
Topic objectives Terminal objective : After attending this topic the student should know how to tune VSAM datasets. Enabling objectives :
Upon completion of this topic the student should be able to : * Identify when FREESPACE is used in a CI and CA. * Evaluate the types of space allocation and their impact on performance. * Analyze the impact on DASD space utilization and performance of the index options IMBED and REPLICATE. * Access the performance impact of cache. * Describe the space allocation process with KEYRANGES and multi-volume data sets. * Interpret the contents of an index control interval. * Illustrate the process of VSAM key compression.
BUFFER SPACE
CISZ
KEY EOMPRESSION
WRITE CHECK
SHR
INDEX OPTIONS
MULTI VOLUME
SPACE ALLOCATION
FREE SPACE
PERFORMANCE
CISZ * DEFINE CLUSTER (NAME (A,B) CISZ (4096)) * DEFINE CLUSTER (NAME (A,B)) DATA (NAME (A.B.INDEX) CISZ (512)) * DEFINE CLUSTER (NAME(A.B)) DATA (NAME ( A.B.DATA) CISZ (4096)) INDEX ( NAME ( A.B.INDEX))
* * * * * *
DASD UTILIZATION MULTIPLE BLOCKS SPANNING A TRACK FREESPACE ALLOWANCE RECORDFIT INDEX KEY COMPRESSION
CHECK LISTCAT
SMALLER DATA CI
MULTIPLE BUFFERS WHEN PROCESSING SEQUENTIALLY.
CI% = % OF (CI SIZE - RDFs - CIDF EXAMPLE : FSPC (20 10) CISZ (4096) RECSZ (500 500) FREESPACE THRESHOLD 3267
R1
R2
R3
1000
R4
R5
R6
2500
FREESPACE
BYTE # 500
3000
GUIDELINES : INSERTS
* INSERTS IN ONLY ONE SECTION OF FILE : 1. NO FSPC 2. INITIAL LOAD 3. ALTER FSPC 4. RESUME LOAD
* MORE LEVELS OF INDEX, SO POSSIBLE INCREASE IN RUN TIME FOR DIRECT PROCESSING
NO FREE SPACE OR TOO LITTLE FREE SPACE * MORE CI/CA SPLITS * AFTER SPLITS, POSSIBLY MORE TIME FOR SEQUENTIAL PROCESSING WHEN FILE NOT IN PHYSICAL SEQUENCE
BUFFER SPACE
BUFFER SPACE
BUFFERS
INDEX
APPLICATION PROGRAM
ADDRESS SPACE
ACB :
IS 2
IS 3
SS 1
SS 2
SS 3
SS 4
SS5
SS 6
CA 1
CA 2
CA 3
CA 4
CA 5
CA6
BUFFERSPACE AT OPEN
PROCESSING MODE MINIMUM ADDITIONAL (IF ANY)
STRNO index STRNO+1 data STRNO index STRNO+1 data STRNO index STRNO+1 data STRNO index STRNO+1 data
BUFFER RECOMMENDATIONS
DEFAULT
* DATA: STRNO +1
RECOMMENDATION
* DATA: default
DIR
* INDEX : STRNO * INDEX: minimum: no.index levels -1 maximum: index set + STRNO
SEQ
* DATA: STRNO +1
* DATA: 3 + STRNO
* INDEX: STRNO
* INDEX: default
BUFFER GUIDELINES
TOO FEW BUFFERS
* POOR PERFORMANCE
* MULTIPLE DASD ACCESSES
RPL ACB = ACB1, AREA = AREA1, AREALEN = XXX, OPTCD = (CNV, MVE,UPD...
VSAM CIs
: AREA1 DS..
:
SPACE ALLOCATION
SPACE ALLOCATION
(primary [ , secondary ] )
CYLIDERS
1 CYLINDER
TRACKS / RECORDS
ALLOCATION RECOMMENDATION
CYLINDER CA SIZE
* IMPROVES DIRECT PROCESSING DECREASES NUMBER OF INDEX LEVELS DECREASES NUMBER OF INDEX BUFFERS
IMBED / REPLICATE
INDEX OPTIONS
IMBED
INDEX COMPONENT
NOIMBED NOREPLICATE
IS SS1 SS1 SS1 SS1 SS1 DATA SS2 SS2 SS2 SS2 SS2 DATA INDEX COMPONENT
DATA COMPONENT
SS1 IS SS2
DATA DATA
DATA COMPONENT
REPLICATE
IS IS IS IS IS IS IS
DATA COMPONENT
NIMBD NREPL
INDEX
IS 1
SS1 CA 1 SS2
IS2
SS1
IS3
SS1 SS1
} INDEX
SS2
SS2
SS2
CA2
SS3 SS3 SS3 DATA
CA4
SS5 SS5 SS5
IMBD REPL
IS1 IS2 IS3 IS1 IS2 IS3 IS1 IS2 IS3 INDEX
SS1
SS2 SS3 SS4
SS1
SS2 SS3 SS4
SS1
SS2 SS3 SS4
SS1
SS2 SS3 SS4 INDEX
SS1
CA1 SS2 CA2
SS1
SS1
SS1
SS2
SS2
SS2
SS5
SS6 CA1 CA2 CA3 CA3 CA5 CA6
SS5
SS6
SS5
SS6
SS5
SS6
SS3
CA3 SS4 CA4 SS5 DATA CA5 SS6 CA6
SS3
SS3
SS3
DATA
SS4
SS4
SS4
SS5
SS5
SS5
SS6
SS6
SS6
REPLICATE
* SHARED DASD
INDEX OPTIONS
* NUMBER OF BUFFERS * OTHER ACTIVITY ON VOLUME * DASD SPACE - USE IMBED WITH LARGE CA SIZE
DEFINE : VOLUMES (volser [ volser.]) CYL / TRK / REC (primary [ secondary ] ) KEYRANGES (( lowkey highkey) (lowkey highkey) ORDERED UNORDERED : :
* SPREAD HIGH ACTIVITY DATA SETS ACROSS VOLUMES AND/OR PATHS - REDUCE ARM CONTENTION - BALANCE PERFORMANCE * SEPARATE ACTIVITY VIA KEYRANGES
NO KEYRANGES
* PRIMARY ALLOCATION ON ONE VOLUME * EXTENSIONS: * SECONDARIES ON SAME. VOLUME * PRIMARY ON NEXT VOLUME * SECONDARIES ON SAME VOLUME :
UNORDERD
ORDERED
B 50
A
50 5 5
C
50 5 5
50 5 5 5
ADDITIONAL EXTENTS
KEYRANGES EXAMPLE 1
DEFINE : VOLUMES ( A B C ) KEYRANGES (00 30) (31 65) (66 99)ORDERED CYLINDERS (50 5) : : B C
A
50 5 5
50 5 5
50
ADDITIONAL EXTENTS
KEYRANGES EXAMPLE 2
DEFINE : VOLUMES ( A B A ) KEYRANGES (00 30) (31 65) (66 99)) ORDERED CYLINDERS (50 5) :
B
50
A
50 50 5 5 5
}
{31 - 65}
1
INDEX SET
AS REQ D
SEQUENCE SET
1 / CA
GOOD COMPRESSION
H E A D E R
F R E E P T R*
F R E E P T R*
S E C T I O N
E N T R Y
E N T R Y
S E C T I O N
E N T R Y
S E C T I O N
R D F
C I D F
KEY
NUMBER OF POINTERS *
CI 2
10052
CI 3 10222
10080
10333
CI 4 10334
CI 5 14021
14000
14028
CI 6 23456
CI 7 23685
23630
.......
CI 3
102
CONTROL INTERVAL
CI 1 10008 / 10052 1000 CI2 10080 / 10222 100 CI3 10333 / 10334 10333 CI4 14000 / 14021 1400 CI5 14028 / 23456 1 ----CI6 23630 / 23685 2363 Those characters which are not required to distinguish between the two keys are dropped from the rear of the key.
CI 2
100
CONTROL INTERVAL
CI 1 CI 2 CI 3 CI 4 CI 5 CI6
Those characters which are repeated are dropped from the front of the key.
CI 1 CI 2 CI 3 CI 4 CI 5 CI 6
* SINGLE FIELDS TEND TO COMPRESS WELL * MULTI - FIELD KEYS WITH STATIC INFORMATION IN MIDDLE COMPRESS POORLY * FRONT COMPRESSION BEST WHEN KEYS HAVE SAME LEADING CHARACTERS * REAR COMPRESSION BEST WHEN KEYS HAVE LARGE DIFFERENCES IN RIGHTMOST CHARACTERS
ERASE
SPANNED
* SHAREOPTION (4) - BUFFER INVALIDATION * WRITECHECK - WRITE FOLLOWED BY READ * RECOVERY - PREFORMATS DURING LOAD * ERASE - DELETE REWRITES ENTIRE DATA SET WITH ZEROS * SPANNED - MULTIPLE DATA I / Os FOR ONE RECORD
RMF REPORTS
TRACKS------------------------ 1
TRACKS-------------------------1 TRACKS-------------------------1 TRACKS-------------------------1 TRACKS-------------------------1 TRACKS-----------------------1 TRACKS------------------------1 TRACKS------------------------1
HI-ALLOC-RBA------23552 HI-USED---------------15872
EXTENT-NUMBER--1 EXTENT-TYPE-------X00
TRACKS----------------1
TOTAL SAMPLES =1.807 DEVICE DEV VOLU LCU ACTIVITY NUM SER RATE 260 261 262 263 264 265 266 267 310 311 312 313 314 315 316 317 TSO008 018 TSO009 018 SMFV 018 CHRE S 018 CHIDLB 018 CHICAT 018 CHISMP 018 CHILIB 018 LCU 018 PPLIB1 018 CICSA1 018 CICSA2 018 CICSA3 018 CICSA4 018 CICSA5 018 CICSA6 018 CICSA7 018 LCU 018 2.131 4.607 1.121 37.454 0.175 11.302 0.102 0.602 57.494 5.269 19.560 24.756 2.763 9.065 9.346 13.196 12.590 96.544
AVG AVG AVG CUB DB PEND DELAY DELAY TIME 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.0 0.0 0.0 0.0 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.3 0.3 0.5 0.2 0.3 0.3 0.3 0.4 0.2 0.3 0.3 0.2 0.2 0.2 0.3 0.3 0.3
AVG DISC TIME 13.2 13.9 13.1 15.5 13.0 57.7 19.0 14.5 23.5 9.5 16.3 18.5 18.7 16.8 14.3 13.5 14.7 15.8
AVG CONN TIME 3.1 3.1 2.9 8.6 1.8 13.7 4.6 5.4 8.8 7.4 3.0 3.0 3.0 3.1 3.0 3.3 3.1 3.3
% % % AVG % DEV DEV DEV DS % MT CON UTI RESV OPEN ALLOC PEND 0.67 1.45 0.32 32.03 0.03 15.52 0.05 0.32 6.30 3.90 5.96 7.53 0.84 2.76 2.84 4.29 3.84 4.00 3.49 0.0 7.84 0.0 1.80 0.0 90.07 0.0 0.26 0.0 80.72 0.0 0.24 0.0 1.19 0.0 23.20 0.0 8.93 0.0 37.83 0.0 53.29 0.0 6.01 0.0 18.00 0.0 16.18 0.0 22.09 0.0 22.31 0.0 23.09 0.0 70.0 73.0 3.0 9.7 0.0 18.0 5.0 1.0 180 13.0 5.0 1.0 1.0 1.0 4.0 1.0 3.0 29.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
* * * * * * * * * * * * * * * * * * * * * * * * * * * * FILE STATISTICS* * * * * * * * * * * * * * * * * * * ** * * * ** * * * *
FILE NAME
GET REQSTS
BROWSE REQSTS
ADD REQSTS
UPDATE REQSTS
DELETE REQSTS
0 0 0 0 0 0 0 15600 0
0 0 0 71 0 0 0 0 0
0 18 0 1 48 1 4 20 0
TOTALS>
3190
2379
15600
1770
2316
71
9464
3833
643
* * * * * * * * * * * * * ** * * ** * * ** ** * * * * * ** * * * * * *** * * * ** * * * ** * * * ** * * ** * * ** * * ** * * ** * * * ** * ** * * * ** * ** * ** * * ** * ** * * *
SHR
CISZ
KEY COMPRE -SSION
FREE SPACE
SPACE ALLOCATION
WRITE CHECK
MULTI VOLUME
Upon completion of this topic the student should be able to : * State two reasons for having an alternate index. * Describe the basic contents of an alternate index. * Use a path to access base cluster records in alternate key sequences. * Define, load and use an alternate index. * State the impact of SHAREOPTIONS when opening a base cluster and associated alternate indexes. * Describe programming and JCL considerations.
3235
DUTT
3240
SINGH
3247
FREE SPACE
4711
SIEGEL
PRICE
ARNOLD
FREE SPACE
MURTHY
3247
ARNOLD
4711
KINNEY
3247
FREE SPACE
NEWTON
3235
PETTY
3247
PRICE
4711
FREESPACE
SIEGEL
4711
WRIGHT
3240
FREE SPACE
POINTER NUMBER LENGTH ALTERLENGTH OF POINT OF ALTE- -NATE POINTER 1 .. POINTER N ( 1 byte ) -ERS RNATEKEY KEY ( 2 bytes ) (1 byte )
0 = ESDS BASE CLUSTER 1 = KSDS BASE CLUSTER PRIME KEY LENGTH X NUMBER NONUNIQUE PRIME KEYS -OR4X NUMBER NONUNIQUE POINTERS
RECORD SIZE
RECORD RETRIEVED
ALTERNATE INDEX
DD STATEMENTS
//DD1
DD
//DD2 //
DD
//DD3 //
DD
PATH CONCEPT
ALTERNATE INDEX1
ALTERNATE INDEX2
PATH 1
PATH 2
PATH CONSISTS OF BASE CLUSTER AND AN ALTERNATE INDEX MULTIPLE PATHS FOR SAME ALTERNATE INDEX
INDEX { DATA
BASE CLUSTER
ALTERNATE INDEX 1
ALTERNATE INDEX 2
ALTERNATE INDEX 4
AUTOMATIC UPGRADE
* FOR MEMBERS OF UPGRADE SET * IF BASE CLUSTER OPENED FOR OUTPUT OR VIA UPDATE PATH * NEW POINTERS ARE ADDED TO END OF POINTER SET OF ALTERNATE INDEX RECORD ( ARRIVAL - TIME ORDER ) * ALTERNATE KEYS EXCEPT THE KEY OF REFERENCE MAY BE CHANGED * UPDATES OR INSERTS FAIL IF THEY PRODUCE A NONUNIQUE KEY FOR A UNIQUEKEY MEMBER OF THE UPGRADE SET
DEFINE ALTERNATEINDEX
DEFINE ALTERNATEINDEX ( NAME ( AIX name ) RELATE ( base cluster name ) KEYS ( length offset ) -
UNIQUEKEY
UPGRADE RECORDSIZE VOL (volser ) CYL TRK
NONUNIQUEKEY
NOUPGRADE ( avg max )
REC
(pri
sec )
DEFINE ALTERNATEINDEX ( NAME ( PAYROLL.DEPT.AIX) RELATE (PAYROLL.MASTER) VOLUMES (AIXOO1 ) UPGRADE) DATA ( NAME (PAYROLL.DEPT.AIX.DATA) TRACKS ( 5 5 ) RECORDSIZE (200 4046 ) KEYS ( 7 65 ) NONUNIQUEKEY ) INDEX (NAME ( PAYROLL.DEPT.AIX.INDEX) IMBED )
DEFINE PATH
DEFINE PATH
NAME
(
( path name )
PATHENTRY
UPDATE
( AIX name )
NOUPDATE )
BLDINDEX
BLDINDEX
BLDINDEX EXAMPLE
OUTDATASET ( PAYROLL.DEPT.AIX ) -
FUNCTIONAL CAPABILITY PERFORMANCE ALTERNATE KEY PROCESSING 1. 2. 3. 4. READ AIX INDEX READ AIX DATA [ READ BASE INDEX ] READ BASE DATA
EXECUTION
BUFFER ALLOCATION
BASE CLUSTER : 2 DATA 1 INDEX 2 INDEX AIX2: 3 DATA 6 INDEX UPGRADE SET: 2 DATA(AIX1) 1 INDEX(AIX1) 2 DATA(AIX3) 1 INDEX(AIX3)
SHAREOPTION IMPACT
PATH 1 UPGRADE SET PATH 2
AIX
AIX
SHR ( 2 3 )
SHR ( 2 3 )
BASE CLUSTER SHR (1 3 ) MOST RESTRICTIVE SHAREOPTION GOVERNS ALL OBJECTS OPENED
KEYED PROCESSING AS FOR KSDS ALTERNATE KEY ASSOCIATED WITH PATHENTRY AIX IS KEY OF REFERENCE HOWEVER, - KEY OF REFERENCE AND PRIME KEY CANNOT BE CHANGED - LIMITATIONS IMPOSED BY BASE CLUSTER APPLY : NO ERASE IF BASE CLUSTER AN ESDS, NO UPDATE WITH LENGTH CHANGE IF BASE CLUSTER AN ESDS, INSERTS GO TO END OF ESDS.
3247
MURTHY PETTY
KINNEY
MURTHY DUTT
3247 3235
KINNEY PRICE
3247 4711
POINT POSITIONS TO FIRST NON-UNIQUE OF ALTERNATE INDEX RECORD (MURTHY) GET SKIP - SEQUENTIAL OR DIRECT RETRIEVES FIRST NON-UNIQUE AS INDICATED IN ALTERNATE INDEX RECORD (MURTHY) GET SEQUENTIAL RETRIEVES NON-UNIQUES IN ORDER INDICATED IN ALTERNATE INDEX RECORD { MURTHY, PETTY, KENNEY }
UNUSABLE FILE ?
FILE MISSING ?
DATA MISSING ?
ANALYSIS
WHAT BROKE ? WHAT DATA SETS WERE LOST ? HOW RECENT ARE THE BACKUPS? WHAT JOBS MUST BE RERUN?
ACTION
REORGANIZING A KSDS WHY REORGANIZE ? * FREESPACE SATURATED * DATA SET FRAGMENTED - CI / CA SPLITS - SECONDARY EXTENTS
AFTER REORGANIZATION * PHYSICAL SEQUENCE SAME AS LOGICAL SEQUENCE * FREESPACE REDISTRIBUTED * DATA COMPONENT CONSOLIDATED, NO SECONDARY EXTENTS * INDEX COMPONENT RECONSTRUCTED
TOOLS
AMS COMMANDS REPRO EXPORT / IMPORT MVS / DFP STORAGE MANAGEMENT PRODUCTS ISMF
REPRO - TECHNIQUE 1
MASTER
REPRO
BACKUP
KSDS
BACKUP IS IMMEDIATELY USABLE BACKUP IS REORGANIZED USES DASD SPACE
KSDS
REPRO - TECHNIQUE 2
STEP 1 REPRO
ESDS (DEFINED REUSE) OR SEQUENTIAL
MASTER
BACKUP
STEP 2 DELETE
REORGANIZED RECORDS
REPRO EXAMPLE
//BAKREO JOB BACKUP AND REORG //BACKUP EXEC PGM = IDCAMS //SYSPRINT DD SYSOUT = A //SYSIN DD * REPRO IDS ( EXAMPLE .MASTER ) ODS ( EXAMPLE .BACKUP ) REUSE IF LASTCC = 0 THEN DO DELETE ( EXAMPLE MASTER ) DEFINE CLUSTER ( NAME (EXAMPLE.MASTER ) : REPRO IDS ( EXAMPLE.BACKUP ) ODS( EXAMPLE.MASTER ) END /* //
EXPORT / IMPORT
EXPORT
IMPORT
EXPORT
CATALOG
DATA SET
RECORDMODE PERMANENT
EXPORT entryname [ /password ] {OUTFILE(ddname) OUTDATASET(entryname)} [ CIMODE RECORDMODE ] [ TEMPORARY PERMANENT ] [ INHIBITSOURCE NOINHIBITSOURCE ] [ INHIBITTARGET NOINHIBITTARGET ] [ERASE NOERASE ] [ PURGE NOPURGE ]
EXPORT BY CI
EXPORT EXAMPLE.SEDS OUTLINE ( EXPTAPE ) CIMODE TEMPORARY
CI
CI CI CI CI CI
IMPORT
IMPORT {INFILE (ddname) INDATASET (entryname ) } {OUTFILE(ddname) OUTDATASET(entryname)} : OBJECTS((objectname) NEWNAME (newname) VOLUMES(volser . . . .) : )
IMPORT
IMPORT {INFILE(ddname) INDATASET(entryname) } {OUTFILE(ddname) OUTDATASET(entryname) } [OBJECTS((entryname [NEWNAME(name)] [VOLUMES(volser)])[(entryname. . . . .)])] [INTOEMPTY ]
STEP 1 EXPORT
ORIGIONAL MASTER
STEP 2 DELETE
STEP 3 DEFINE
NEW MASTER
PRIMARY FUNCTIONS
BACKING UP AND RECOVERING DATA
MOVING DATA CONVERTING DATA TO / FROM STORAGE MANAGE-MENT SUBSYSTEM MANAGING SPACE
DUMP
TAPE
OR
RESTORE DASD
INVOKING DEDSS
JCL
DFDSS
APPLICATION INTERFACE
ISMF
DFDSS
//DFDSS //STEP1 //INDASD //OUTTAPE // //FILTER DD JOB EXEC DD DD
JCL
PGM = ADRDSSU UNIT = 3380, VOL =SER =111111,DISP =OLD UNIT = 3480, VOLUME=SER=TAPE01,LABEL=(1,SL), DISP = (NEW, KEEP), DSNAME =USER2.DUMP data set containing filtering criteria (optional) command data set
//SYSIN
DD
DUMP MY.DATASET
//MYJOB JOB accounting information, REGION = nnnnk //STEP1 EXEC PGM = ADRDSSU //SYSPRINT DD SYSOUT = A //DASD DD UNIT=3380,VOL=SER=111111,DISP=OLD //TAPE DD UNIT=3480,VOL-SER=TAPE01, //LABEL=(1,SL),DISP=(NEW,KEEP),DSNAME=MY.DATASET.BACKUP //SYSIN DD * DUMP DATASET(INCLUDE(MY.DATASET)) INDDNAME(DASD) OUTDDNAME(TAPE) /*
RESTORE MY.DATASET
//MYJOB JOB accounting information, REGION = nnnnk //STEP1 EXEC PGM = ADRDSSU //SYSPRINT DD SYSOUT = A //TAPE DD UNIT=3480,VOL=SER=TAPE01, //LABEL=(1,SL),DISP=(OLD,KEEP),DSNAME=MY.DATASET.BACKUP //DASD DD UNIT=3380,VOL=SER=111111,DISP=OLD //SYSIN DD * RESTORE DATASET(INCLUDE(MY.DATASET)) INDDNAME(TAPE) OUTDDNAME(DASD) REPALCE /*
DFHSM
SOFTWARE SUBSYSTEM CONTINUOSLY RUNNING LOGICAL EXTENSION OF MVS DATA SET ORIENTED
BACKUP MANAGEMENT
* BACKUP
SPACE MANAGEMENT
* MIGRATION
* RECOVERY
* RETIREMENT
* DELETION
* SPACE RECLAMATION
EXAMPLES :
HBACKDS
HBACKDS HBACKDS
EXAMPLE1.MY.ESDS
EXAMPLE2.*.KSDS NOWAIT
HRECOVER
HRECOVER dsname[ / password ] [ GENERATION (gennum) DATE(date)] [ NEWNAME(newdsname)] [ REPLACE ] [ TOVOLUME (volid) UNIT(unittype) ] [ NOWAIT WAIT [EXTENDRC] ]
EXAMPLE :
HRECOVER EXAMPLE1.MY.ESDS HRECOVER EXAMPLE2.MY.DATA UNIT (3380) WAIT REPLACE NOWAIT
TOVOLUME (VOL007)
ISPF
RACF
DFDFF
DFHSM
DFSORT
DSN
1. VTOC 2. CAT
SELECTION PANELS
DFHSM
Page 2 of 3
VALUE
USE ENTER TO PERFORM SELECTION; USE UP/DOWN COMMAND FOR OTHER SELECTION ON PANELS;USE HELP COMMAND FOR HELP;USE END COMMAND TO EXIT
ALOCC ALLOC %NOT NUM ALLOC DATASETNAME SPACE USED USED EXT UNIT ---------(2)--------- ---(3)--- ---(4)--- ---(5)-- --(6)-- --(7)--USER43.TEST.CLIST 46 USER43.ISMF.DGTLLIB 48 USER43.ISPPROF 93 USER43.SPFLOG1.LIST 2623 USER43.TEMP.DATASET 4684 46 36 93 1311 93 0 25 0 50 98 1 1 1 7 1 TRK TRK TRK TRK TRK
----------------------------------------------BOTTOM OF DATA---------------------------------------
COMMAND
FILTER SORT FIND CLEAR RESHOW PROFILE UP DOWN RIGHT LEFT SAVE END COMPRESS COPY DUMP RESTORE
FG
X X X X X X X X X X X X
BG
ISMF
X X X X X X X X X X X X
DFDSS
SHORT DESCRIPTION
FURTHER TRIMMING OF LIST SORT ON DEFINED COLUMN FIND COLUMN CLEAN LINE OPERATORS RESHOW HIDDEN LINES EXAMINE / CHANGE ISMF PROFILE SCROLL UPWARDS SCROLL DOWNWARDS SCROLL TO THE RIGHT SCROLL TO THE LEFT SAVE THE LIST IN A TABLE DS GO TO PREVIOUS LEVEL
X X X X
X X X X
COMPRESS PDS COPY DATA SET DUMP DATA SET RESTORE DUMPED DATA SET
RELEASE
Environment
TSO DFDSSDFHSM X
Description
Browse data set Invoke TSO CLIST Compress PDS Reclaim unused Copy data set Delete data set Dump data set Edit data set Hide line Change bkup parm Back up data set Delete backup copy Migrate dat set Recall data set Recreate data set Release unused Recreate data set
X
X X X X X
X
X X X X X X X X X X X
X
X X X X X X X X X
PROBLEM ANALYSIS
RECOVERY
AVAILABILITY
KSDS
INDEX
EXAMINE
INDETEST
* AMS COMMAND * CROSS - CHECKS VERTICAL AND HORIZONTAL POINTERS IN THE INDEX * READS DATA SET SEQUENTIALLY CHECKS RECORD, CI, AND FREESPACE INTEGRITY
DATATEST DATA
EXAMINE NAME (clustername [/password ] ) [ INDEXTEST NOINDEXTEST ] [ DATATEST NODATATEST ] [ ERRORLIMIT (value) ]-
EXAMINE - NO ERRORS
IDCAMS SYSTEM SERVICES EXAMINE NAME (EXAMINE.TEST.KSDS) INDEXTEST DATATEST ERRORLIMIT (10) IDC017001 IDC017241 IDC017011 IDC017091 IDC017081 IDC017101 IDC017111 IDC017121 IDC017221 INDEXTEST BEGINS INDEXTEST COMPLETE - NO ERRORS DETECTED DATASET BEGINS DATASET COMPLETE - NO ERRORS DETECTED 45 CONTROL INTERVALS ENCOUNTERED DATA COMPONENT CONTAINS 1000 RECORDS DATA COMPONENT COTAINS 0 DELETED CONTROL INTERVALS MAXIMUM LENGTH DATA RECORD CONTAINS 255 BYTES 65 PERCENT FREE SPACE
=00000031
<
IDC017131 DATA CONTROL INTERVAL DISPLAY AT RBA Q FOLLOWS 000000 C1C2C3C4 C5C6C7C8 C9D1D2D3 D4D5D6D7 D8D9E2E3 E4E5E6E7 E8E9C1C2 C3C4C5C6 *ABCDEFGHIJKLMNOPQRSTUVWXYZA* 000020 C7C8C9D1 C1C2C3C4 C5C6C7C8 C9D1D2D3 D4D5D6D7 D8D9E2E3 E4E5E6E7 E8E9C1C2 *GHIJABCDEFGHIJKLMNOPQRSTUVWX* 000040 C3C4C5C6 C7C8C9D1 FOFOFOFO FOFOFOF1 4DC2C3C4 C5C6C7C8 C9D1D2D3 D4D5D6D7*CDEFGHIJ00000001 BCDEFGHIJKLMNO* 000060 D8D9E2E3 E4E5E6E7 E8E9C1C2 C3C4C5C6 C7C8C9D1 C1C2C3C4 C5C6C7C8 C9D1D2D3 *QRSTUVWXYZABCDEFGHIJABCDEFG* 000080 D4D5D6D7 D8D9E2E3 E4E5E6E7 E8E9C1C2 C3C4C5C6 C7C8C94D FOFOFOFO FOFIOF1 *MNOPQRSTUVWXYZABCDEFGHI0011* 0000A0 4040C3C4 C5C6C7C8 C9D1D2D3 D4D5D6D7 D8D9E2E3 E4E5E6E7 E8E9C1C2 C3C4C5C6 * CDEFGHIJKLMNOPQRSTUVWXYZAB* 0000C0 C7C8C9D1 C1C2C3C4 C5C6C7C8 C9D1D2D3 D4D5D6D7 D8D9E2E3 E4E5E6E7 E8E9C1C2 *GHIJABCDEFGHIJKLMNOPQRSTUVW * 0000E0 C3C4C5C6 C7C84040 FOFOFOFO FOFOFOF1 404040C4 C5C6C7C8 C9D1D2D3 D4D5D6D7 * CDEFGH 00000031 DEFGHIJKLMNOP* 000100 C3C4C5C6 C7C84040 FOFOFOFO FOFOFOF1 404040C4 C5C6C7C8 C9D1D2D3 D4D5D6D7 * CDEFGH 00000031 DEFGHIJKLMNOP* 000120 C7C8C9D1 C1C2C3C4 C5C6C7C8 C9D1D2D3 D4D5D6D7 D8D9E2E3 E4E5E6E7 E8E9C1C2 *GHIJABCDEFGHIJKLMNOPQRSTUVWX 000140 C1C2C3C4 C5C6C7C8 C9D1D2D3 D4D5D6D7 D8D9E2E3 E4E5E6E7 E8E9C1C2 C3C4C5C6 *ABCDEFGHIJKLMNOPQRSTUVWXYZA* 000160 D8D9E2E3 E4E5E6E7 E8E9C1C2 C3C4C5C6 C7C8C9D1 C1C2C3C4 C5C6C7C8 C9D1D2D3 *QRSTUVWXYZABCDEFGHIJABCDEFG* 000180 C3C4C5C6 C7C84040 FOFOFOFO FOFOFOF1 404040C4 C5C6C7C8 C9D1D2D3 D4D5D6D7 * CDEFGH 00000031 DEFGHIJKLMNOP* 0001A0D8D9E2E3E4E5E6E7 E8E9C1C2 C3C4C5C6 C7C8C9D1 C1C2C3C4 C5C6C7C8 C9D1D2D3 *QRSTUVWXYZABCDEFGHIJABCDEFG* 0001B0 D4D5D6D7 D8D9E2E3 E4E5E6E7 E8E9C1C2 C3C4C5C6 C7C8C94D FOFOFOFO FOFIOF1 *MNOPQRSTUVWXYZABCDEFGHI0011* *********************************0001E0 THRU 002FC0 LINES DELETED*********************************************************** 002FE0 00000000 00000000 00000000 00000000 00000000 00000800 7A400050 2620096 *.& ..0* IDC017141 ERROR LOCATED AT OFFSET 000000138 IDC217031 MAJOR ERRORS FOUND BY DATASET IDCOOO11 FNCTION COMPLETED. HIGHEST CONDITION CODE WAS 8 IDC00021 IDCAMS PROCESSING COMPLETE.MAXIMUM CONDITION CODE WAS 8
RC # 0
KSDS.INDEX KSDS.INDEX
KSDS.DATA
KSDS.DATA
RECOVERY STEPS
INDEX ERROR: 1. DATA ERROR : 1.
2.
3. 4. 5. 6. 7. 8.
2.
3. 4. 5.
USER PROGRAM
VSAM
GTF
// DD ..AMP=(TRACE)
OPEN TRACING
TRACE SUBPARAMETERS
//.DD. AMP =(TRACE=[HOOK=(n,n, ..)], // [ECODE=ANY CODEnumber] // [KEY=keydata low RBA - high RBA ], // [PARM1=trace options], // [PARM2=trace options]))
Terminal objectives :
After attending this topic the student should know to conserve virtual storage buffers and selected control blocks.
Enabling objectives::
Upon completion of this topic the student should be able to :
* Discuss the concept of shared resource pools. * State the advantages of using LSR and GSR. * Describe selected macros to control allocation and use of shared resources.
MANAGING I / O BUFFERS
CICS AND IMS REPORTS
RECOMMENDATIONS
BUFFER POOL
A.B
B.C
D.E
= 2K CI
=1K CI
CICS
IMS
DB2
BATCH JOB
BATCH JOB
JES
LSR
LSR
LSR
LSR
LSR
LSR
RESOURCE POLLS
LSR
LSR
1 POOL FOR
1 - 16 FOR DATA
1 - 16 FOR INDEX
BLDVRP MACRO :
EACH RESOURCE POOL BUILT INDIVIDUALLY DATA POOL MUST BE BUILT BEFORE INDEX POOL
* POOL2
//VSAM1 DD DSN=..
PROGRAM:
BLDVRP : OPEN ACB1 ACB1 ACB MACRF =(LSR,) DDNAME=VSAM1
DATA SET
ADDRESS SPACE
DELPOOL DLVRP
MANAGING I / O BUFFERS
DEFERRING WRITES
DEFER PUT REQUESTS UNTIL : * WRTBFR IS ISSUED * VSAM NEEDS BUFFER SPACE * DATA SET IS CLOSED
WRITING BUFFERS
MODIFIED BUFFERS IN THE RESOURCE POOL MODIFIED BUFFERS FOR A GIVEN DATA SET THE LEAST RECENTLY USED MODIFIED BUFFERS BUFFERS MODIFIED BY REQUESTS WITH SAME TRANSACTION ID
MARKING A BUFFER
* MRKBFR MARK = OUT MARKS BUFFER FOR OUTPUT * PROGRAM MODIFIES BUFFER CONTENTS * MRKBFR MARK = RLS
TO RELEASE EXCLUSIVE CONTROL
* MAINTAINS SUBPOOL STATISTICS BLOCK - FOR EACH SUBPOOL - BUFFERING SERVICES AND REQUEST ACTIVITY
NUMBER OF RETRIEVE BY RBA CALLS NUMBER OF RETRIEVE BY KEY CALLS NUMBER OF LOGICAL RECORDS INSERTED INTI ESDS
NUMBER OF LOGICAL RECORDS INSERTED INTO KSDS NUMBER OF LOGICAL RECORDS ALTERED IN THIS SUBPOOL NUMBER OF TIMES BACKGROUND WRITE FUNCTION INVOKED NUMBER OF SYNCHRONIZATION CALLS RECEIVED NUMBER OF VSAM GET CALLS ISSUED NUMBER OF VSAM SCHBFR CALLS ISSUED NUMBER OF TIMES CONT INT REQUESTED ALREADY IN POOL NUMBER OF CONTR INT READ FROM EXTERNAL STORAGE NUMBER OF VSAM WRITES INITIATED BY IMS/VS NUMBER OF VSAM WRITES TO MAKE SPACE IN THE POOL NUMBER OF PERM WRT ERROR BUFFS NOW IN SUB POOL LARGEST NUMS OF PERM ERR BUFFS EVER IN THE SUBPOOL
CICS USES LSR OR NSR AS SPECIFIED FOR EACH FILE DEFINED IN THE FCT
} } }
1K
* LSR SPECIFICATIONS VIA SHRCTL MACRO * IF NO SHRCTL CODED, THEN CICS CALCULATES REQUIREMENTS * MONITOR LSR SHUTDOWN STATISTICS
2K
3K
SHRCTL BUFFERS =1024 (24) 2048 (8) 4096 (6) KEYLENGTH = MAX KEYLENGTH OF FILES USING POOL STRNO = MAX STRINGS AVAILABLE FOR POOL
NON-USER INITIATED BUFFER WRITES 0 0 0 0 0 TOTAL NO. OF TIMES REQUESTS HAD TO WAIT FOR BUFFER 0 0 0 2 9 0 0 5
* * * * * * * * ** * * * * * * * * *** * * * * * * * * * * * * * * * * * * * * * *
NSR ADVANTAGES
USER LSR FOR ALL FILES EXCEPT : - HIGH ACTIVITY FILES - HIGH PERFORMANCE FILES (ALLOCATE ADDITIONAL INDEX BUFFERS) - FAST SEQUENTIAL BROWSE OR MASS INSERTS - CA SPLITS EXPECTED
CI CI CI CI CI CI CI CI
LR LR LR LR LR
LR LR LR LR LR
LR LR LR LR LR
LR LR LR LR LR
LR LR LR LR LR LR LR LR
CI CI CI CI CI CI CI CI
LOGICAL RECORDS
TABLE / ARRAY
Process data
+ PAGE FAULTS
Process data
+ PAGE FAULTS
DIV EXAMPLE
DATA OBJECT
STORAGE
Give DDNAME Open Data set READ file Write updates Discard changes Remove MAP Remove ACCESS Remove IDENTITY
IDENTITY
// EXEC PGM=DIVTEST //DIVDS DD DISP=SHR,DSN=DIV.DATA : : DIV IDENTITY, TYPE=DA, DDNAME=DIVDDN, ID=TOKEN : : DIVDDN DC X5,DIVDS TOKEN DS D : : :
IDENTIFY DDNAME pointing to LDS Data set IDed via DDNAME DDNAME of LDS Returned token of Data Object (LDS)
ACCESS
Indicates Read-only or Update intent Token from IDENTITY READ or UPDATE Object size (4K units)
MAP
Specifies virtual storage to hold Data Object contents Token from IDENTITY
Word having area address
set by IDENTITY
MAP EXAMPLE
0, 0 DATA OBJECT AREA
0, 0
m, n
m, n
MAP
DIV
SAVE,..
: DIV UNMAP, ID = TOKEN , AREA = ARRAYPT : DIV UNACCESS, ID = TOKEN : DIV UNIDENTITY, ID = TOKEN : TOKEN DS D ARRAYPT DC A(ARRAY) : :
Eliminates a map(no DASD update) Token from IDENTIFY Word having address of area passed to MAP Cancels the ACCESS (OPEN) - Implied UNMAP
Set by IDENTIFY
DIV CANDIDATES
APPLICATIONS USING SETS OF FIXED - LENGTH DATA STRUCTURES FORTRAN APPLICATIONS POSSIBILITIES : - LARGE ARRAYS - VSAM RRDS - BDAM FIXED - LENGTH RECORDS
Enabling objectives::
Upon completion of this topic the student should be able to : * Use the Data Windowing Services in order to process VSAM objects with Data In Virtual techniques.
CALL
DWS
1st block 2nd block 1st block 3rd block 2nd block
Last Block
3rd block
2nd block etc. etc.
DIV object
last block
address space
3rd block
2nd block etc.
etc.
last block
CSRIDAC service
CALL CSRIDC
(operation_type ,object_type ,object_name ,scroll_area ,object_state ,access_mode ,object_size ,object_id ,high_offset ,return_code ,reason_code)