Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 22

Application Restart Control for IMS -

Overview
Steven Peek
BMC Software
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
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
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
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


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
Checkpoint / Restart

What is the impact of Checkpoint/Restart


Application without
restartability
0 2 4 6 8 10 12 14 16
Hours
Problem ends job
Problem

5 Hour Job Back out database changes 5 Hour Job


Fix

Application with restartability


0 2 4 6 8 10 12 14 16
Hours
Problem ends job
Problem

5 Hour Job Restarted job


Fix

completes

chkpt 1 chkpt 15 chkpt 15


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
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
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)
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
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
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
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
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
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 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
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 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
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 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)
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

You might also like