Save While Active Processing
Robot Save allows you to take advantage of IBM’s save while active feature. When you specify to use save while active, you can save an object while it is in use. The save is done by maintaining an image of the object being saved as it existed at a single point in time, called the checkpoint. The image is called the checkpoint image.
Objects cannot actually be changed during save while active processing; the system locks the object while it obtains the checkpoint image. However, the operating system, in effect, maintains two copies of the object being saved: the image at the time the checkpoint was established and another one that contains changes to the object. Any changes made to the object are stored and applied after the checkpoint image has been saved.
Because you can continue to use objects while a save is in progress, using save while active as part of your backup strategy can help reduce your backup window.
Save While Active Options
You can select from several options to obtain a checkpoint when you use save while active processing.
Full synchronization—*SYNCLIB or *SYNC(IFS)
Sets the checkpoint for all objects in all libraries defined to the backup to occur at the same time. Thus, all objects in all libraries are saved in a consistent state in relationship to each other.
This may be the best option to select, because it will usually reach checkpoint processing in the shortest amount of time and has the least impact on recovery procedures. However, because it allocates all objects being saved before obtaining a checkpoint image, it usually keeps objects locked longer then the other options. This option also uses the most additional storage. In Robot Save, specify save while active type C to select *SYNCLIB processing.
Library synchronization—*LIB
Sets the checkpoint for all objects in a library to occur at the same time. The objects in the library are saved in a consistent state in relationship to each other. Different libraries reach checkpoints at different times. Once two libraries have been checkpointed, one library is saved to media before a third library is checkpointed.
You should use this option if you are saving only one library; each of your applications is dependent on only one library; or if you do not have the storage or time available for full synchronization. In Robot Save, specify save while active type Y or *YES.
Note: If you plan to use Save While Active when encrypting data, specify this option.
System-defined synchronization—*SYSDFN
Objects in a library reach a checkpoint at different times and may not be saved in a consistent state to each other. The objects in a library are separated into different groups to be checkpointed. After two groups have been checkpointed, one group is saved to media before the next group is checkpointed.
This option usually keeps objects locked for the shortest period of time and uses the least amount of storage. However, it also takes the longest time to complete checkpoint processing. It also can complicate recovery procedures if you do not end your applications during the checkpoint processing. In Robot Save, specify save while active D to select *SYSDFN processing.
Note: Specifying *SYSDFN can eliminate size restrictions on the library being saved, allowing you to save libraries containing thousands of objects.
No save while active processing—*NO
Objects that are in use during the backup are not saved and objects cannot be updated while the save is in progress. If you do not want to use the save while active feature, select N or *NO.
Monitoring for Save While Active Messages
If you want to use save while active to reduce your backup window, we recommend that you end any applications that change objects until after the checkpoint images have been acquired. Send a message to notify users when checkpoint processing is complete and it’s safe to start applications again. Monitor for the following message IDs to know when save while active processing is in progress or complete:
Message ID |
Message Text |
Used For |
CPI3712 |
Save-while-active checkpoint processing complete. |
*SYNCLIB or *SYSDFN |
CPI3710 |
Save-while-active checkpoint processing for library &1. |
*LIB or *SYSDFN |
CPI3711 |
Save-while-active request ended abnormally on library &1. |
Abnormal termination |
CPI3722 |
Save-while-active request ended abnormally. |
Abnormal termination |
CPI3724 |
&2 of &3 libraries processed. Started &1 at &4. |
*SYNCLIB |
CPI3725 |
Save-while-active checkpoint processing in progress. |
*SYNCLIB |
Save While Active Restrictions
You should keep the following restrictions in mind when you use save while active processing.
-
You can save while active only with the following commands:
-
Command
Function
SAVLIB
Save library
SAVOBJ
Save object
SAVCHGOBJ
Save changed objects
SAVDLO
Save document library object
SAV
Save IFS objects
SAVRSTLIB*
Save/restore library
SAVRSTOBJ*
Save/restore object
SAVRSTDLO*
Save/restore document library object
SAVRST*
Save/restore IFS
RBSSAVLIB
Save library encrypted
RBSSAVOBJ
Save object encrypted
RBSSAVCHG
Save changed objects encrypted
RBSSAV
Save IFS objects encrypted
-
You cannot use save while active in the following situations:
-
With save operations that require a restricted state. Since a restricted state ends all subsystems, the save operation is the only job active on the system and must complete before starting other subsystems and jobs. Restricted state operations include:
-
Saving the system library
-
Saving all libraries
-
Saving the entire system
-
If you specify STG(*FREE) during a save operation.
-
Do not use save while active when the system activity is high or when disk space is low.
-
Do not load, apply, or remove an IBM program temporary fix (PTF) during save while active processing.
-
Objects created after the save operation begins may not be saved.
-
Objects that are in use by other jobs during checkpoint processing may not be saved.
-
System Service Tools (SST) functions should not be used for objects currently being saved by a save while active operation.
-
Full synchronization (*SYNCLIB) is not available when using the SAVLIB LIB(*IBM) or SAVDLO commands.
* These commands are not used by Robot Save. However, you can use them in a Data Set program.
Performance Considerations
For better performance during save while active processing, we recommend that system activity be low. Jobs that are primarily read-only are good examples of the type of activity that allows for better system performance during a save while active operation.
Another consideration is the size of the machine pool. Adding an additional 1200KB of memory can reduce paging during save while active processing. Disk usage should be less than 30 percent. If necessary, move the job to a separate pool to run by itself and have at least 4MB of memory available in the pool. If you are using full synchronization (*SYNCLIB), an additional 1 or 2 MB of memory is required. If you are saving thousands of objects, additional memory may be required. If you are saving documents (library QDOC), make sure all users are out of the product until a checkpoint has been reached.
Generally, save while active checkpoint processing is performed faster for a small number of larger objects than for a larger number of small objects.
Note: Encrypting data with save while active set to *LIB can increase the time it takes to save or restore your data.
Save While Active Example
The following example illustrates how you can use save while active processing in Robot Save to reduce the time required to complete your backups.
An application uses two libraries, PRODLIB1 and PRODLIB2. Both of these libraries contain objects that are saved daily. The current save strategy ends all jobs that make changes to the libraries for the entire time that the libraries are being saved. This requires a backup window of several hours.
To reduce the time required for the backup, do the following:
-
On the Robot Save Extended Backup Set Information panel, specify a Before backup user program. Have the program end all applications that make changes to PRODLIB1 and PRODLIB2.
-
On the Robot Save Backup Set Information panel, specify C (*SYNCLIB) in the Save while active field. Specify QSYSOPR as the Save while active message queue.
When the backup runs, the objects in PRODLIB1 and PRODLIB2 will reach the checkpoint together and the libraries will be saved as specified by the backup set. A message (CPI3712) will be sent to QSYSOPR stating the checkpoint processing is complete.
If you use Robot Console, our message management software, you can monitor for the message ID CPF3712 and have Robot Console restart the applications that make changes to the (now-saved) libraries PRODLIB1 and PRODLIB2.
The objects are saved as they were at the time the application jobs were ended, prior to the backup set being executed. And, the backup window has been reduced to only the time required for the libraries to reach the checkpoint.