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