Book description
Virtual Storage Access Method (VSAM) is one of the access methods used to process data. Many of us have used VSAM and work with VSAM data sets daily, but exactly how it works and why we use it instead of another access method is a mystery.
This book helps to demystify VSAM and gives you the information necessary to understand, evaluate, and use VSAM properly. This book also builds upon the subject of Record Level Sharing and DFSMStvs. It clarifies VSAM functions for application programmers who work with VSAM. The practical, straightforward approach should dispel much of the complexity associated with VSAM. Wherever possible an example is used to reinforce a description of a VSAM function.
This IBM® Redbooks® publication is intended as a supplement to existing product manuals. It is intended to be used as an initial point of reference for VSAM functions.
Table of contents
- Front cover
- Notices
- Preface
- Summary of changes
-
Chapter 1. VSAM basics
- 1.1 VSAM functions by release level
- 1.2 What is VSAM?
- 1.3 VSAM functions
-
1.4 VSAM terminology and concepts
- 1.4.1 Logical record
- 1.4.2 Physical record
- 1.4.3 Control interval
- 1.4.4 Spanned records
- 1.4.5 Control area
- 1.4.6 Components
- 1.4.7 Clusters
- 1.4.8 Alternate indexes
- 1.4.9 Sphere
- 1.4.10 Splits
- 1.4.11 VSAM buffering
- 1.4.12 String multiprocessing
- 1.4.13 Catalog Search Interface
- 1.4.14 Extended Address Volume
- 1.5 VSAM data set organizations
- 1.6 Data striping
- 1.7 Processing a VSAM data set
- 1.8 VSAM exploiters
-
Chapter 2. Managing your VSAM data sets
- 2.1 Reorganization considerations
-
2.2 Sharing VSAM data sets
- 2.2.1 Integrity
- 2.2.2 Sharing VSAM data sets
- 2.2.3 Write and read integrity
- 2.2.4 VSAM sharing mechanisms
- 2.2.5 Sharing data in a single VSAM control block structure
- 2.2.6 Sharing data with many VSAM control block structures
- 2.2.7 General share options considerations
- 2.2.8 Protecting VSAM data set through DISP parameter
- 2.3 Extended format
- 2.4 Extended addressability (EA)
- 2.5 Catalog Search Interface
- 2.6 Major sources of VSAM processing options
- 2.7 Media Manager, Open, Close, EOV in VSAM
- 2.8 VSAM and 64 bits in real storage
- 2.9 Special considerations for COBOL users and SMB
-
Chapter 3. Guidelines for ICF catalog and VSAM
- 3.1 ICF catalog basics
- 3.2 Factors affecting catalog performance
- 3.3 Catalog problem determination
-
3.4 Catalog management
- 3.4.1 Catalog sharing
- 3.4.2 Creating a balanced catalog environment
- 3.4.3 Reorganizing catalogs
- 3.4.4 Using the Catalog Search Interface (CSI)
- 3.4.5 SYSZTIOT catalog contention detection
- 3.4.6 Catalog autotuning function
- 3.4.7 Catalog backup and recovery
- 3.4.8 BCS forward recovery
- 3.4.9 RACF and REPRO MERGECAT command
- 3.4.10 Catalog IMBED/REPLICATE health check
- 3.4.11 Helpful frequently asked questions
- 3.4.12 Diagnosing prolonged catalog ENQ times
- 3.4.13 Monitoring the catalog address space
-
Chapter 4. VSAM performance
- 4.1 Performance analysis
- 4.2 VSAM performance management
- 4.3 VSAM defaults and rule-of-thumbs
-
4.4 Parameters affecting performance
- 4.4.1 Allocation units
- 4.4.2 Optimizing control area (CA) size
- 4.4.3 Partial release
- 4.4.4 Allocation constraint relief
- 4.4.5 Control interval size
- 4.4.6 FREESPACE definition for KSDS and VRRDS
- 4.4.7 Data Control Area Reclaim
- 4.4.8 Index options
- 4.4.9 Keyrange and ordered options
- 4.4.10 Share options
- 4.4.11 Initial load option
- 4.4.12 Region size
- 4.4.13 Buffering options
- 4.4.14 How BUFFERSPACE, BUFSP, BUFND, and BUFNI affect buffering
- 4.4.15 Buffering techniques
- 4.4.16 Data compression
- 4.4.17 VSAM data striping
- 4.5 VSAM performance by scenarios
- 4.6 Performance monitors
-
Chapter 5. VSAM Record Level Sharing
- 5.1 Introducing VSAM RLS
-
5.2 RLS terminology
- 5.2.1 SMSVSAM
- 5.2.2 VSAM sphere
- 5.2.3 RLS client
- 5.2.4 Subsystem
- 5.2.5 Batch
- 5.2.6 Record lock
- 5.2.7 True contention
- 5.2.8 False contention
- 5.2.9 True/False or False/False contention
- 5.2.10 Deadlocks
- 5.2.11 Read integrity
- 5.2.12 Retained lock
- 5.2.13 Lost Locks
- 5.2.14 Recoverable VSAM data set
- 5.2.15 Non-recoverable VSAM data set
- 5.2.16 Quiesce a VSAM data set
- 5.2.17 Quiesce transactions
- 5.2.18 Quiesce a volume or a cache
- 5.2.19 Sharing control
- 5.2.20 RLS mode
- 5.3 Planning for RLS
-
5.4 Implementing VSAM RLS
- 5.4.1 Defining Sharing Control Data Sets (SHCDS)
- 5.4.2 Defining CF cache structures
- 5.4.3 Defining the primary CF lock structure
- 5.4.4 Defining secondary lock structures (optional)
- 5.4.5 SMS definitions
- 5.4.6 Modifying the PARMLIB IGDSMSxx Member
- 5.4.7 Security definitions
- 5.4.8 Using a VSAM data set in RLS mode
- 5.4.9 RLS Recoverable data sets
-
5.5 RLS problem determination and recovery
- 5.5.1 Hang or Wait condition in RLS
- 5.5.2 Internal logic errors in RLS
- 5.5.3 Data integrity: VSAM Data Trap
- 5.5.4 VSAM_DATA_TRAP Health Check
- 5.5.5 Data integrity: VSAM index trap
- 5.5.6 Errors during RLS record management processing
- 5.5.7 Transaction recovery
- 5.5.8 Lock structure full
- 5.5.9 SHCDS recovery procedures
- 5.5.10 Latch contention
- 5.5.11 RLS rules
- 5.6 Operational procedures for RLS
- 5.7 RLS enhancements
-
5.8 RLS performance
- 5.8.1 Speed of the CF hardware and software
- 5.8.2 DASD performance of the SHCDS data sets
- 5.8.3 CF synchronous and asynchronous requests
- 5.8.4 Local buffer pool sizing
- 5.8.5 RLS cache structures sizing
- 5.8.6 RLS lock structure sizing
- 5.8.7 Data set level parameters
- 5.8.8 Serialization at record level
- 5.8.9 Effect of a write dominant I/O workload
- 5.8.10 RLS lock structure duplexing
- 5.8.11 Recoverable VSAM data sets
- 5.8.12 Dealing with deadlocks
- 5.8.13 RLS performance gains
- 5.8.14 CICSPlex RLS performance comparison
- 5.8.15 Using RLS mode in an ESDS organization
- 5.9 RMF and VSAM RLS
- 5.10 VSAM and high availability
-
Chapter 6. DFSMStvs
- 6.1 Introducing DFSMStvs
- 6.2 Why DFSMStvs?
- 6.3 DFSMStvs terms and concepts
- 6.4 CICS support for recoverable VSAM
- 6.5 The RLS connection
- 6.6 DFSMStvs logging
- 6.7 Recovery coordination
- 6.8 Ordering and installing DFSMStvs
- 6.9 Implementing DFSMStvs
- 6.10 Application requirements for DFSMStvs
- 6.11 Operational considerations
- 6.12 Changes to support DFSMStvs
-
Chapter 7. VSAM problem determination and recovery
- 7.1 VSAM problem determination hints and tips
-
7.2 Common VSAM problems
- 7.2.1 Lack of virtual storage
- 7.2.2 Initial loading problems
- 7.2.3 Mismatch between catalog and data set
- 7.2.4 Hardware errors
- 7.2.5 Bad data or bad channel program
- 7.2.6 Structural damage
- 7.2.7 Improper sharing
- 7.2.8 Mismatch between catalog and VTOC
- 7.2.9 VSAM does not produce expected output
- 7.2.10 VSAM RLS problems
- 7.2.11 Enqueue issues
- 7.2.12 Migration issues
- 7.2.13 Performance considerations
- 7.2.14 Deadlocks
- 7.2.15 VSAM restriction: REPRO to empty VSAM data set
- 7.3 What documentation to collect
- 7.4 Recovering a damaged VSAM data set
- 7.5 Preventing future problems
- 7.6 SMF record types that are related to VSAM data sets
- 7.7 VSAM data trap
- 7.8 VSAM trace enhancement
- 7.9 Related publications
- Appendix A. Sample code
- Appendix B. Miscellaneous performance items
- Related publications
- Back cover
Product information
- Title: VSAM Demystified
- Author(s):
- Release date: August 2022
- Publisher(s): IBM Redbooks
- ISBN: 0738437433
You might also like
book
Modernizing Applications with IBM CICS
IBM® CICS® is a mixed language application server that runs on IBM Z®. Over the 50 …
book
Architect's Guide to IBM CICS on System z
IBM® CICS® Transaction Server (CICS TS) has been available in various guises for over 40 years, …
book
Db2 for z/OS Utilities in Practice
As IBM® continues to enhance the functionality, performance, and availability of IBM Db2®, the utilities have …
book
ABCs of z/OS System Programming Volume 10
The ABCs of IBM® z/OS® System Programming is an 13-volume collection that provides an introduction to …