HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
IBM’s Definitive One-Stop Guide to IMS Versions 12, 11, and 10: for Every IMS DBA, Developer, and System Programmer
Over 90% of the top Fortune® 1000 companies rely on IBM’s Information Management System (IMS) for their most critical IBM System z® data management needs: 50,000,000,000+ transactions run through IMS databases every day. What’s more, IBM continues to upgrade IMS: Versions 12, 11, and 10 meet today’s business challenges more flexibly and at a lower cost than ever before. In An Introduction to IMS, Second Edition, leading IBM experts present the definitive technical introduction to these versions of IMS.
More than a complete tutorial, this book provides up-to-date examples, cases, problems, solutions, and a complete glossary of IMS terminology. Prerequisite reading for the current IBM IMS Mastery Certification Program, it reflects major recent enhancements such as dynamic information generation; new access, interoperability and development tools; improved SOA support; and much more. Whether you’re a DBA, database developer, or system programmer, it brings together all the knowledge you’ll need to succeed with IMS in today’s mission critical environments.
Coverage includes
IBM Information Management System: From Apollo to Enterprise
Download the sample pages (includes Chapter 1)
Acknowledgments xxv
About the Authors xxvi
Preface xxvii
Part I: Overview of IMS
Chapter 1 IMS: From Apollo to Enterprise 1
IMS and the Apollo Program 1
IMS as a Database Management System 2
IMS as a Transaction Manager 2
Who Uses IMS? 3
IMS and Enterprise Integration 4
Chapter 2 Overview of the IMS Product 5
IMS Database Manager 6
IMS Transaction Manager 8
IMS System Services 9
IMS Product Documentation 9
Hardware and Software Requirements for IMS 10
Hardware 10
Software 10
Chapter 3 Access to and from IMS 13
IMS-Managed Application Program Access 13
Accessing IMS by Using DL/I Calls 14
Accessing IMS TM 14
IMS Connect 16
Accessing IMS DB Using JDBC 16
Accessing IMS from Other Application Runtime Environments 19
Accessing IMS DB 19
Accessing IMS TM 20
Access to and from IMS Using the IMS SOA Integration Suite Components 20
IMS Enterprise Suite Connect APIs 22
IMS Enterprise Suite SOAP Gateway 22
IMS TM Resource Adapter 24
IMS MFS Web Enablement 25
MFS SOA Support 27
IMS Solutions for Java Development 27
IMS Enterprise Suite DLIModel Utility Plug-In 27
IMS Enterprise Suite Explorer for Development 27
IMS XML DB 29
IMS Web 2.0 Solutions for IMS DB and IMS TM 29
Accessing from IMS 30
Accessing to and from IMS 32
Chapter 4 IMS and z/OS 33
How IMS Relates to z/OS 33
Structure of IMS Subsystems 33
IMS Control Region 34
IMS Environments 34
IMS Separate Address Spaces 41
Internal Resource Lock Manager 48
IMS Connect 48
Advanced Program-to-Program Communications 48
Running an IMS System 49
Running Multiple IMS Systems 49
Running Multiple IMS Systems on a Single z/OS Image 49
Running Multiple IMS Systems on Multiple z/OS Images 50
How IMS Uses z/OS Services 50
Resource Access Control Facility 51
Resource Recovery Services 51
Parallel Sysplex 52
Cross-System Coupling Facility 52
Cross-System Extended Services 53
Automatic Restart Management 53
Chapter 5 Setting Up, Running, and Maintaining IMS 55
Installing IMS 55
Installing IMS Using SMP/E 56
IMS Installation Verification Program 56
Defining an IMS System 57
IMS Startup 57
Types of IMS System Starts 57
Starting Regions That Are Related to IMS 58
IMS Logging 60
IMS Utility Programs 60
IMS Recovery 60
Extended Recovery Facility 60
Remote Site Recovery 61
Database Recovery Control Facility 61
Fast Database Recovery 61
IMS Database Recovery Facility for z/OS 61
IMS Shutdown 61
Maintaining an IMS System 62
Part II: IMS Database Manager
Chapter 6 Overview of the IMS Database Manager 63
IMS Database Manager Overview 63
Implementation of IMS Databases 64
Overview of Full-Function Databases 64
Overview of Fast Path DEDBs 64
Full-Function Databases 65
Fast Path Data Entry Databases 66
Storing Data in IMS and DB2 for z/OS 66
Storing XML Data in IMS 67
Open Database Manager 67
Workload Routing and Distribution 71
Chapter 7 Overview of the IMS Hierarchical Database Model 75
IMS Hierarchical Database Basics 76
Basic Segment Types 79
Sequence Fields and Access Paths 80
Logical Relationships 81
Secondary Indexes 81
Logical Relationships 81
Secondary Index Databases 85
Chapter 8 Implementing the IMS Hierarchical Database Model 89
Segments, Records, and Pointers 90
Physical Segment Design 91
IMS Hierarchical Access Methods 93
HDAM Access Method 95
HIDAM Access Method 100
PHDAM and PHIDAM Access Methods 103
Index Databases 106
Fast Path DEDBs 106
GSAM Access Method 112
HSAM and HISAM Access Methods 112
Operating System Access Methods 113
Data Set Groups 114
Choosing Between VSAM and OSAM for Data Set Groups 115
IMS Checkpoints 116
Application Program Checkpoints 116
Locking Data 118
DB2 and Deadlocks 119
Methods of Sharing Data 120
Chapter 9 Data Sharing 123
How Applications Share Data 124
DBRC and Data Sharing 125
Chapter 10 The Database Reorganization Process 127
Purpose of Database Reorganization 128
When to Reorganize Databases 128
Reactive Reorganizing 128
Proactive Reorganization 129
Monitoring the Database 130
Sample Reorganization Guidelines 130
Overview of the Database Reorganization Process 132
Reorganizing HALDBs 132
Offline Reorganization 132
Online Reorganization 146
Chapter 11 The Database Recovery Process 153
Determining When Recovery Is Needed 153
Overview of the Database Recovery Process 154
Online Programs and Recovery 155
DB Batch Update Programs and Recovery 155
IMS Backup and Recovery Utilities 155
Database Image Copy Utility 156
Database Image Copy 2 Utility 158
Online Database Image Copy Utility 159
Database Change Accumulation Utility 159
Database Recovery Utility 161
Batch Backout Utility 164
Part III: IMS Transaction Manager
Chapter 12 Overview of the IMS Transaction Manager 167
IMS TM Control Region 169
Data Communications Control Environment 169
IMS TM Network Overview 170
Required IMS TM Network Components 173
Optional IMS TM Network Components 173
Terminal Types 174
Static 174
Dynamic 174
Extended Terminal Option 174
APPC/IMS 175
APPC/IMS Application Programming Interfaces 175
MSC and ISC 176
Multiple Systems Coupling 176
Intersystem Communication 177
Comparing the Functions of MSC and ISC 178
Input Message Types 179
Input Destination 179
Message Format Service 180
Message Queuing 180
Message Queue Size and Performance Considerations 182
Multiple Message Queue Data Sets 182
Fast Path Transactions and Message Queues 183
Shared Queues 183
Operating an IMS Network 188
Master Terminal 189
Initiating a Session with IMS 192
Open Transaction Manager Access 193
OTMA Asynchronous Output 194
OTMA Security 196
OTMA Callable Interface 197
IMS Connect 198
IMS Connect OTMA Interface 199
IMS TM Resource Adapter 204
IMS Connect APIs 205
Workload Routing with the IMS Connect OTMA Interface 205
Workload Balancing with the Sysplex Distributor 205
Ports 207
Connection Types and Considerations 207
IMS Connect Load Balancing and Routing 208
Asynchronous Output and Supermember Support 210
IMS Connect Operations Manager Interface 213
IMS-to-IMS Connections over TCP/IP 213
WebSphere MQ 214
Using the WebSphere MQ API in IMS Dependent Regions 214
IMS BMP Trigger Monitor 216
WebSphere MQ IMS Bridge 216
Chapter 13 How IMS TM Processes Input 223
IMS TM Messages 223
IMS Message Format 225
Input Message Origin 226
Transaction Scheduling 226
Message Region Scheduling 226
Scheduling Conditions 228
Program and Transaction Definitions That Affect Scheduling 229
Definition Parameters That Affect Transaction Scheduling 230
Defining the Class of a Transaction 230
Defining the Priority of a Transaction 231
Processing Limit Count and Time 232
Parallel Scheduling 232
Database Processing Intent 233
Scheduling a BMP or JBP Application 233
Scheduling Fast Path Transactions 234
Fast Path-Exclusive and Fast Path-Potential Transactions 234
Scheduling in a Shared-Queues Environment 235
IMS Transaction Flow 235
OTMA Message Processing 236
Commit Mode 0 (CM0): Commit-Then-Send 236
Commit Mode 1 (CM1): Send-Then-Commit 236
Synclevel 0 (SL0): None 236
Synclevel 1 (SL1): Confirm 238
Synclevel 2 (SL2): Syncpoint 238
Synchronous Callout 239
IMS Connect Implementation of Synchronous Callout 240
Transaction Expiration 242
Part IV: IMS Application Development
Chapter 14 Application Programming Overview 243
Application Program Structure 244
An ENTRY Statement 245
A PCB or AIB 246
Some DL/I Calls 246
A Status Code Processing Section 246
A Termination Statement 246
Entry to the Application Program 246
PCB Mask 247
AIB Mask 252
Calls to IMS 254
Status Code Processing 255
Application End of Processing 256
IMS Setup for Applications 257
IMS Control Blocks 257
IMS System Definition 259
IMS Application Programming Interfaces 261
IMS Application Calls 261
Get Unique (GU) 261
Get Next (GN) 261
Get Hold Unique (GHU) and Get Hold Next (GHN) 261
Insert (ISRT) 262
Delete (DLET) 262
Replace (REPL) 262
ICAL Call 262
IMS System Service Calls 262
Testing IMS Applications 264
Chapter 15 Application Programming for the IMS Database Manager 267
Introduction to Database Processing 267
Application Programming Interfaces to IMS 268
Processing a Single Database Record 273
IMS Database Positioning 274
Retrieving Segments 275
Updating Segments 279
Calls with Command Codes 283
Database Positioning After DL/I Calls 286
Using Multiple PCBs for One Database 287
Processing GSAM Databases 287
COBOL and PL/I Programming Considerations 289
COBOL Programming Considerations 289
PL/I Programming Considerations 291
Processing Databases with Logical Relationships 293
Accessing a Logical Child in a Physical Database 293
Accessing Segments in a Logical Database 293
Processing Databases with Secondary Indexes 294
Accessing Segments by Using a Secondary Index 295
Creating Secondary Indexes 297
Loading Databases 297
Overview of Loading Databases 297
Loading a Database That Has Logical Relationships 298
Loading a Database That Has Secondary Indexes 300
Using Batch Checkpoint/Restart 300
Using the Restart Call 303
Using the Checkpoint Call 305
Chapter 16 Application Programming for the IMS Transaction Manager 309
Application Program Processing 309
Role of the PSB 311
DL/I Message Calls 312
Message Segments 312
Conversational Processing 312
Output Message Processing 312
Message Switching 313
Callout Requests for External Services or Data 313
Application Program Termination 313
Logging and Checkpoint/Restart Processing 314
Program Isolation and Dynamic Logging 314
Transaction Manager Application Design 314
Online Transaction Processing Concepts 315
Online Program Design 317
Basic Screen Design 318
General IMS TM Application Design Guidelines 320
Chapter 17 Editing and Formatting Messages 321
Message Format Service 321
MFS Components 323
Administering MFS 327
MFS Control Blocks 329
Advantages of Using MFS 331
Basic Edit Function 332
Chapter 18 Application Programming in Java 335
IMS Universal Drivers Overview 336
IMS Database Java Metadata 337
Supported SQL Keywords 340
Variable-Length Segment Support 340
Virtual Foreign Key Fields 341
IMS Support for the JVM Runtime Environment 341
Developing JMP Applications 341
JMP Applications and Conversational Transactions 344
Developing JBP Applications 344
Issuing Synchronous Callout Requests from a Java Dependent Region 346
Enterprise COBOL Interoperability with JMP and JBP Applications 346
Accessing DB2 for z/OS Databases from JMP or JBP Applications 347
Java Interoperability with MPP, IFP, and BMP Applications 348
Distributed Connectivity with the IMS Universal Drivers 348
WebSphere Application Server for z/OS Applications 349
DB2 for z/OS Stored Procedures 349
CICS Applications 349
XML Storage in IMS Databases 351
Decomposed Storage Mode for XML 351
Intact Storage Mode for XML 352
Using IMS Explorer for Development for Testing 357
Part V: IMS System Administration
Chapter 19 The IMS System Definition Process 359
Overview of the IMS System Definition Process 360
Types of IMS System Definitions 362
Stage 1 of the IMS System Definition Process 363
Stage 2 of the IMS System Definition Process 363
JCLIN Processing 364
SMP/E Maintenance 364
IMS Security 364
IMS System Definition Macros 364
Extended Terminal Option 369
ETO Terminology 370
How Structures Are Created and Used 373
Descriptors and Exit Routines 374
How Descriptors Are Created and Used 374
Summary of ETO Implementation 375
Dynamic Resource Definition and Online Change 377
Dynamic Resource Definition 377
The Online Change Process 380
Chapter 20 Customizing IMS 383
What Can Be Customized 384
Exit Routine Naming Conventions 385
Changeable Interfaces and Control Blocks 385
IMS Standard User Exit Parameter List 385
Routine Binding Restrictions 386
Registers and Save Areas 386
IMS Callable Services 386
Storage Services 386
Control Block Services 387
Automated Operator Interface Services 387
Using Callable Services 387
Exit Routine Performance Considerations 387
Summary of IMS Exit Routines 388
Chapter 21 IMS Security 397
Overview of DB/DC and DCCTL Security 397
DB/DC and DCCTL Resources That Can Be Protected 398
Defining Security During DB/DC and DCCTL System Definition 398
Security Facilities for DB/DC and DCCTL Resources 399
Overview of DBCTL Security 401
DBCTL Resources That Can Be Protected 401
Defining Security During DBCTL System Definition 402
Security Facilities for DBCTL Resources 402
Chapter 22 IMS Logging 405
Overview of IMS System Logging 405
Database Recovery Control Facility 407
IMS System Checkpoints 407
IMS Log Data Sets 408
Online Log Data Sets 408
Write-Ahead Data Sets 412
System Log Data Sets 412
Recovery Log Data Sets 413
IMS Restart Data Set 413
IMS Log Buffers 413
Chapter 23 Database Recovery Control Facility 415
Overview of DBRC 416
DBRC Tasks 416
DBRC Components 417
RECON Data Set 417
Database Recovery Control Utility (DSPURX00) 417
Skeletal JCL 418
When to Use DBRC 418
Communicating with DBRC 419
DBRC Commands 419
DBRC API 420
DBRC Functions 420
Recording and Controlling Log Information 421
How DBRC Helps in Recovery 424
Recording Information about Opening and Updating Databases 429
Supporting Data Sharing 430
Supporting Remote Site Recovery 432
Supporting IMSplexes 433
Overview of the RECON Data Sets 433
RECON Records 434
Database-Related Information 436
IMS Systems and the RECON Data Set 436
Database Names in the RECON Data Set 436
Defining and Creating the RECON Data Sets 437
Placement of the RECON Data Sets 438
Initializing the RECON Data Sets 438
Allocating the RECON Data Sets to an IMS System 438
Maintaining the RECON Data Sets 439
Backing Up the RECON Data Sets 440
Deleting Inactive Log Records from the RECON Data Sets 440
Monitoring the RECON Data Sets 440
Reorganizing RECON Data Sets 441
Re-Creating the RECON Data Sets 442
Recommendations for RECON Data Sets 443
Chapter 24 Operating IMS 445
Controlling IMS 445
Controlling IMS with the TSO SPOC Application 445
Issuing Batch SPOC Commands 447
Modifying and Controlling System Resources 448
Modifying System Resources Online 448
List of Commands with Similar Functions for Multiple Resources 453
Modifying Dependent Regions 461
Modifying Telecommunication Lines 461
How to Modify Terminals 461
Modifying and Controlling Transactions 462
Database Control 462
Creating, Updating, Deleting, and Querying Resource Definitions Dynamically 463
Modifying ETO User IDs and Assignments of ISC Users 464
Modifying Multiple System Coupling Resources 464
Modifying Security Options 464
Displaying and Terminating Conversations 465
Modifying and Controlling Subsystems 465
Controlling OTMA Input Messages 465
Recovery During the IMSRSC Repository Data Set Update Process 465
Connecting and Disconnecting Subsystems 465
Starting IMS 466
Starting an IMSplex 467
Starting the CSL 467
Starting the IMS Control Region 467
Starting the IRLM 468
Starting the CQS 468
Starting Dependent Regions 468
Starting the IMS Transaction Manager 469
Starting IMS Connect 469
Restarting IMS 469
Cold Start 470
Warm Start 470
Emergency Restart 470
Monitoring the System 470
Monitoring IMS Connect Connections 471
IMS System Log Utilities 472
Gathering Performance-Related Data 473
IBM IMS Tools 474
Shutting Down IMS 474
Stopping the IMS Transaction Manager 475
Stopping Dependent Regions 475
Shutting Down the IMS Control Region 475
Stopping the IRLM 476
Shutting Down CQS 476
Shutting Down an IMSplex 476
IMS Failure Recovery 477
Executing Recovery-Related Functions 478
Issuing DBRC Commands 478
Dumping the Message Queues 479
Recovering the Message Queues 479
Archiving the OLDS 480
Making Databases Recoverable or Nonrecoverable 480
Running Recovery-Related Utilities 480
Controlling Data Sharing 480
Controlling Data Sharing Using DBRC 481
Monitoring the Data-Sharing System 481
Chapter 25 IMS Recovery Facilities 483
Recovery of Failing IMS Components 484
Recovery Using Dynamic Backout and Batch Backout 485
Recovery Using DBRC 485
Recovery in an IMSplex 486
Recovery of IMS Systems in an IMSplex 486
Recovery of CSL in an IMSplex 486
Recovery of Repository Server in an IMSplex 486
Recovery in a Parallel Sysplex Environment 487
Recovery Using InfoSphere IMS Replication for z/OS 487
Recovery Using IMS Recovery Expert for z/OS 488
Recovery Using the Extended Recovery Facility 489
Recovery Using Remote Site Recovery (RSR) 490
Chapter 26 IBM IMS Tools 493
Application Management Tools 493
IBM IMS Batch Backout Manager for z/OS 494
IBM IMS Batch Terminal Simulator for z/OS 494
IBM IMS Program Restart Facility for OS/390 495
Backup and Recovery Tools 495
IBM IMS DEDB Fast Recovery for z/OS 495
IBM IMS Recovery Expert for z/OS 495
IBM IMS Recovery Solution Pack for z/OS 496
Database Administration and Change Management Tools 497
IBM IMS High Availability Large Database Toolkit for z/OS 497
IBM IMS Sequential Randomizer Generator for OS/390 497
IBM Tools Base for z/OS 497
Data Governance/Regulatory Compliance Tools 498
IBM IMS Audit Management Expert for z/OS 498
IBM InfoSphere Guardium Data Encryption for DB2 and IMS Databases 499
Information Integration Management Tools 499
IBM IMS DataPropagator for z/OS 499
IBM InfoSphere Classic Data Event Publisher for z/OS 500
IBM InfoSphere Classic Replication Server for z/OS 500
Performance Management Tools 501
IBM IMS Buffer Pool Analyzer for z/OS 501
IBM IMS Network Compression Facility for z/OS 501
IBM IMS Performance Solution Pack for z/OS 502
IBM Tivoli OMEGAMON XE for IMS on z/OS 502
IBM Transaction Analysis Workbench for z/OS 503
Transaction Management and System Management Tools 503
IBM IMS Command Control Facility for z/OS 503
IBM IMS Configuration Manager for z/OS 503
IBM IMS Extended Terminal Option Support for z/OS 504
IBM IMS High Performance System Generation Tools for z/OS 504
IBM IMS Queue Control Facility for z/OS 505
IBM IMS Sysplex Manager for z/OS 505
IBM IMS Workload Router for z/OS 505
Utilities Management Tools 506
IBM IMS Cloning Tool for z/OS 506
IBM IMS Database Control Suite for z/OS 506
IBM IMS Database Reorganization Expert for z/OS 507
IBM IMS Database Solution Pack z/OS 507
IBM IMS Fast Path Solution Pack for z/OS 508
IBM IMS Online Reorganization Facility for z/OS 509
Miscellaneous IMS Tools 510
Part VI: IMS in a Parallel Sysplex Environment
Chapter 27 Introduction to Parallel Sysplex 511
Goals of a Sysplex Environment 512
Some Components and Terminology in a Parallel Sysplex 513
IMS Data Sharing and the Sysplex Environment 514
DBRC and Data-Sharing Support 515
Block-Level Data Sharing 515
Fast Database Recovery 516
Sysplex Data-Sharing Concepts 517
Summary of IMS Data Sharing and the Sysplex Environment 518
IMS Transaction Manager and the Sysplex Environment 520
IMS Shared Queues 520
VTAM Generic Resource Support 523
Other Workload-Routing and Workload-Balancing Capabilities 523
Summary of IMS TM and the Sysplex Environment 524
IMS Common Service Layer and the IMSplex 525
Chapter 28 IMSplexes and the IMS Common Service Layer 527
IMSplex Overview 528
IMS Components and System Services That Are Part of an IMSplex 530
Common Queue Server 530
Common Service Layer 530
Repository Server (RS) 531
Multiple Systems Coupling in an IMSplex 531
Recovering Systems in an IMSplex 531
z/OS Components and System Services Used in an IMSplex 532
Common Service Layer Overview 532
CSL Configuration Examples 533
CSL Managers 540
Overview of the CSL Open Database Manager 540
Overview of the CSL Operations Manager 540
Overview of the CSL Resource Manager 542
Overview of the CSL Structured Call Interface 543
Defining and Tailoring an IMSplex 543
Defining CQS 544
Defining the IMS Control Region 544
Defining ODBM 544
Defining OM 545
Defining RM 545
Defining SCI 545
Defining a Simplified IMSplex for the Type-2 Command Environment 545
IMS Functions That Use the IMS Common Service Layer 545
Operating an IMSplex 546
A Single SPOC Program in CSL to Control an IMSplex 547
The TSO SPOC 550
The Batch SPOC 551
Sequence for Starting CSL Address Spaces 552
Part VII: Appendixes
Appendix A Glossary 553
Appendix B Notices 567
Index 571