210 likes | 821 Views
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
E N D
1. Application Restart Control for IMS - OverviewSteven PeekBMC Software
2. APPLICATION RESTART CONTROLTimeline – 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