Check Point Restart – a detailed explanation.

Check Point Restart – a detailed explanation.

If you work for or on IBM Mainframes you must have heard/talked, even if not willingly, about check point restart. If you are new to IT and Mainframe’s coding the question, “Check Point Restart – is there a detailed explanation?” might haunt you. 🙂

To understand this concept, we’ll have a series of posts however, as of now — we’ll start with a simple question and that is:

1. What is meant by Checkpoint and Restart Facility?

Checkpoint restart OR check-point-restart OR check point restart OR checkpoint put in a very simple form is — a way to (re)start your program where it abended in the event of a failure.

Checkpoint and Restart facilities are some of the most important features supported by IMS. This method is used in the IMS programming environment to ensure data integrity. When we issue a checkpoint, it signals the IMS Control environment that the application program wants to commit all changes made to the database. Once an IMS checkpoint is successfully taken, IMS, the application program, the programmer who supports the application, and the end users now have a reference point that assures that in case of a hardware/software abend we can recover the data back to the point where the checkpoint was taken.

The second question in this series, which comes to mind and which should/can come to mind is:

2. When do we use this?

Checkpoint and Restart facilities are used in all IMS applications which update the database. For example, let’s assume that there is an application program which manipulates large amount of data. The program abends after processing the ‘n’th record.

Here we have two options, first – execute the program from top (and yeah, wait for another abend!) or second, “restart” the program.

By any means, well, we would have to run the program once again to complete the processing. But as a large amount of data would have already been updated in the DB. Hence we would also have to back-out the changes made in the DB, to ensure data integrity. Now this is that a situation in which we make use of check-point restart facility.

When the checkpoint is issued, all data updated till the commit-point** would be kept intact. The changes made to the DB after the commit point would be backed out. We could then restart the job from the last checkpoint or commit point and our job would continue processing from that particular point. In addition to ensuring the integrity of our data, it would also save us lot of time and effort.

** – what is commit-point — we’ll understand that soon below.

Note: IMS DB has been taken as a restart Database in this post.