1 / 21

Application Restart Control for IMS - Overview Steven Peek BMC Software

APPLICATION RESTART CONTROL Timeline Why is it important. BMP RestartIntroduced in 1985IMS Checkpoint Restart ProductBatch Control FacilityIntroduced in 1992IMS DLI Logger replacementMerged into ARC IMS March 2006ARC IMS

ursula
Download Presentation

Application Restart Control for IMS - Overview Steven Peek BMC Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Application Restart Control for IMS - Overview Steven Peek BMC Software

    2. APPLICATION RESTART CONTROL Timeline – Why is it important BMP Restart Introduced in 1985 IMS Checkpoint Restart Product Batch Control Facility Introduced in 1992 IMS DLI Logger replacement Merged into ARC IMS March 2006 ARC IMS & DB2 Introduced in March 1993 ARC VSAM Introduced in March 1994 Why is this important: Mature, stable product. Robust function Continual innovation Proven architecture Externalize checkpoint/restart logic from the application, and the DBMSWhy is this important: Mature, stable product. Robust function Continual innovation Proven architecture Externalize checkpoint/restart logic from the application, and the DBMS

    3. What are the benefits of AR/CTL? Business demand for increased application availability It is all about the batch window Batch workload demand is increasing Batch applications (Programs) Database administration (Utilities) System Hardware and Software upgrades The IT environment is becoming more complicated. More Services for less Multiple DBMS Shared Databases (IMS PLEX) Legacy applications must interact with applications running on multiple platforms Bottom line – Batch window is shrinking If the online system is jeopardized there are consequences SLA’s have been developed to provide maximum online system availability. Usually SLA’s are meet when everything in the batch window works as expected. BUT when exceptional conditions occur during the batch window it means the batch window is extended, SLA’s are missed, data errors may be introduced and there are consequences. The primary function of Application Restart Control (ARC) is to automate batch program restart. It does far more as you will see. SLA’s have been developed to provide maximum online system availability. Usually SLA’s are meet when everything in the batch window works as expected. BUT when exceptional conditions occur during the batch window it means the batch window is extended, SLA’s are missed, data errors may be introduced and there are consequences. The primary function of Application Restart Control (ARC) is to automate batch program restart. It does far more as you will see.

    4. What are the benefits of AR/CTL? Automate procedures involved with Checkpoint Restart Removes decisions from operations Personnel skills Eliminate errors Reduce the duration of delays Eliminate “Home Grown” solutions Maintenance Standardization Provide Cross-DBMS coordination Expanded Checkpoint Scope Coordinates recovery activities platforms and DBMS’s Batch Management Parallelism Predictable and enhanced stability

    5. The AR/CTL Product Family Application Restart Control for IMS Batch Control Facility (BCF) Application Restart Control for DB2 QUICKSTART Application Restart Control for VSAM

    6. Checkpoint / Restart What is the impact of Checkpoint/Restart Without Checkpoint/Restart Restart mean full database restore and rerun Back-out can take up to twice as long as the original run BMP’s allow multiple concurrent updaters Locking is required to allow shared database updating Checkpoints release held locks Once the lock has been released, the job must be restarted it can not be restored and rerun It is difficult to scheduling long running batch jobs Checkpoints allow a long running batch job to be segmented by creating interrupt points

    7. Checkpoint / Restart What is the impact of Checkpoint/Restart

    8. WHAT IS A CHECKPOINT? Snapshot of the executing environment taken at a specific point in time Captures selected parts of program working storage DBMS restart information sequential data set repositioning information Flushes the buffers to harden data Releases locks A Checkpoint contains all of the information your application program needs to resume processing after an interruption

    9. Checkpoint / Restart Who calls it what? IMS calls it a “Checkpoint” Simple / Basic (not restart able) Extended / Symbolic (restart able) DB2 calls it a “Commit” Not restartable CICS calls it a “Sync” Not restartable AR/CTL recognizes Checkpoint calls in existing programs XRST Identifies the job as Restartable Identifies working storage CHKP End of a logical unit of work X’18’ Working Storage, file positioning X’41’ Latest commit point

    10. Checkpoint / Restart AR/CTL supports IMS Extended checkpoints and DB2 commits in your existing program. Existing calls do not need to be removed in order to be managed by AR/CTL AR/CTL provides several methods to introduce Checkpoint logic into a program. Automatic Checkpoint Checkpoints added externally (JCL ARCSYSIN DD) Explicit Checkpoint IMS – “CALL CBLTDLI USING CHKP… DB2 – “EXEC SQL. COMMT…… Checkpoints added via AR/CTL API call (CBLTARC) AR/CTL supports checkpoints for many DBMS environments. In most cases, the scope of the checkpoint is expanded to include non-DBMS data that is associated with the application at the time of the checkpoint. Auto Checkpoint makes it possible to externally define a Logical Unit of Work boundary without requiring a recompile of the program. Auto Checkpoint is a relatively new feature of AR/CTL. It works with AUTO Restart, in the IMS, DB2, & VSAM environments. The supported languages are COBOL/2, COBOL/370, and COBOL for MVS and VM. AR/CTL supports checkpoints for many DBMS environments. In most cases, the scope of the checkpoint is expanded to include non-DBMS data that is associated with the application at the time of the checkpoint. Auto Checkpoint makes it possible to externally define a Logical Unit of Work boundary without requiring a recompile of the program. Auto Checkpoint is a relatively new feature of AR/CTL. It works with AUTO Restart, in the IMS, DB2, & VSAM environments. The supported languages are COBOL/2, COBOL/370, and COBOL for MVS and VM.

    11. What does it take to create a BMP without AR/CTL? Must be restartable Program logic to add Checkpoints Program logic to support Restart Restart operations documentation Provide restart Checkpoint ID Provide the log that contains the restart Checkpoint ID Flat files must be processed as GSAM in order to be restartable VSAM files must be processed as SHISAM databases Test and migrate program to production Modify the PSB to contain the I/O PCB Program logic to account for the I/O PCB Define the BMP to IMS Modify JCL, Test and migrate to production Usually all or nothing deployment

    12. How AR/CTL works Manages the batch runtime environment Did the previous run fail? Selects the proper checkpoint for restart Restart point is the last completed checkpoint Restore the program runtime environment Working storage Flat file position Database position

    13. How AR/CTL works AR/CTL inserts itself in the Linkage Chain above DFSRRC00 (IMS) and your Application program Job step TCB (mother task) Modifies STEPLIB / JOBLIB concatenation Dynamically allocate all files required by AR/CTL

    14. How AR/CTL works AR/CTL Repository Managed by the AR/CTL started task Identifies a job as it enters the system for management by AR/CTL Active Entry Establish default options for a specific AR/CTL environment Reattach Pacing Restart Return code (established by the customer) Tracks programs as they run under the control of ARC

    15. How AR/CTL works Checkpoint activity recorded to ARCCHKP Unique VSAM file for each job step Dynamically allocated and managed No JCL requirements Deleted after normal end-of-step Contains 2 checkpoints... not a log All checkpoint-related activity is recorded on an external dataset (ARCCHKP) that will be retained in an abend (for eventual restart). The information recorded on the ARCCHKP dataset includes the following: Flat file repositioning data VSAM repositioning data Checkpointed Working Storage IMS x’18’ log record IMS x’41’ log record DB2 Cursor informationAll checkpoint-related activity is recorded on an external dataset (ARCCHKP) that will be retained in an abend (for eventual restart). The information recorded on the ARCCHKP dataset includes the following: Flat file repositioning data VSAM repositioning data Checkpointed Working Storage IMS x’18’ log record IMS x’41’ log record DB2 Cursor information

    16. SEQUENTIAL DATASET SUPPORT Checkpoint processing QSAM data hardened in conjunction with DBMS CHECKPOINT/COMMIT Flat File repositioning file reverts to the status as of the last checkpoint Sequential I/O requests are intercepted with no modification to the program Native IMS GSAM is supported Output staging Defer output of data until a checkpoint AR/CTL automatically repositions flat files to the point that corresponds to the restart checkpoint. Sequential intercept is a technique where AR/CTL captures QSAM requests and converts them to BSAM requests without the knowledge of the application. Output staging is useful when an application is producing a report data set that is going to the JES spool. Because it impossible to reposition these data sets, the data is held in a data space until it is check pointed. AR/CTL automatically repositions flat files to the point that corresponds to the restart checkpoint. Sequential intercept is a technique where AR/CTL captures QSAM requests and converts them to BSAM requests without the knowledge of the application. Output staging is useful when an application is producing a report data set that is going to the JES spool. Because it impossible to reposition these data sets, the data is held in a data space until it is check pointed.

    17. AR/CTL Added Value – Re-Attach Reattach application for selected Abends Job step doesn’t end until normal termination occurs Removes operator intervention Keys off of selected abend codes BCF required for IMS DLI Batch update Options to customize restart services Automatic Reattach (REATCLAS, REATTACH) DB2 -911 SQL conditions IMS U0777 conditions

    18. AR/CTL Added Value – Check Point Pacing Centrally administrated External to the application program Designed to work with existing application code Time (my personal favorite) Checkpoint count (useful to test pacing) Identify checkpoint calls that are not frequent enough Filters/throttles checkpoint activity based on your processing requirements Prime shift - heavy online access Short checkpoint interval to release locks and help online users Second/third shift - heavy batch access Longer checkpoint interval to facilitate batch AR/CTL allows the application to issue checkpoints at an appropriate place. Checkpoint pacing reduces the actual number of checkpoints passed through to the DBMS. Checkpoints are very costly in terms of computer resources consumed. So you need to achieve a balance between three opposing factors: * The need for overall batch throughput * The needs of the online users * The need to shorten abend recovery timeAR/CTL allows the application to issue checkpoints at an appropriate place. Checkpoint pacing reduces the actual number of checkpoints passed through to the DBMS. Checkpoints are very costly in terms of computer resources consumed. So you need to achieve a balance between three opposing factors: * The need for overall batch throughput * The needs of the online users * The need to shorten abend recovery time

    19. AR/CTL Added Value – Early Termination Allows controlled termination of job step After next checkpoint completes (TERMAFTERCkp) No back-out required After next call completes (TERMBEFORCkp) Back-out required At a specific time of the day (TERMATTime) Via operator interface (MVS modify) Makes it really easy to test restart logic Reduce the time required to prepare for a System shutdown

    20. AR/CTL Added Value – Program Exception (S0Cx ABEND SUPPORT) Some batch programs suffer from “Dirty” input data Alternative to role back processing ABENDS S0C6 - S0CF supported Identified ABENDS are intercepted and processed according to the options you specify Bad records are written to the Reject file Application processing is then allowed to continue AR/CTL gives you the ability to bypass data oriented ABENDS (S0C6-S0CF). This is an extension of the Application Reattach feature. You have 4 options when you set up an exception class. 1) Ignore the abend and continue with the next instruction. 2) Ignore the abend, zero the result field, and continue with the next instruction. 3) Allow the abend to continue so that the UOW is backed out, then skip the “Bad” record on the restart. 4) Same as #3 above, but write the bad record to a pending file. Both option 3 and 4 are restricted to a single input file that you identify. Consider setting up a unique exception class for each program. This is especially true if you are using option 3 or 4, which involve skipping a bad input record. AR/CTL gives you the ability to bypass data oriented ABENDS (S0C6-S0CF). This is an extension of the Application Reattach feature. You have 4 options when you set up an exception class. 1) Ignore the abend and continue with the next instruction. 2) Ignore the abend, zero the result field, and continue with the next instruction. 3) Allow the abend to continue so that the UOW is backed out, then skip the “Bad” record on the restart. 4) Same as #3 above, but write the bad record to a pending file. Both option 3 and 4 are restricted to a single input file that you identify. Consider setting up a unique exception class for each program. This is especially true if you are using option 3 or 4, which involve skipping a bad input record.

    21. AR/CTL Added Value – Suspend/Resume Combination of Early Termination and Application Reattach Product-to-product synergy between AR/CTL and: Image Copy Plus Recovery Manager for IMS Current Reorg Reorg Plus for DB2 (Online Reorg)

    22. In Summary … AR/CTL is designed to enhance your batch application environment. Exploit existing Checkpoint/Restart capabilities Provide Checkpoint/Restart into additional areas Provide an infrastructure and the means to manage the batch environment Standardize and stabilize the batch environment

More Related