RESTART command: Difference between revisions
m (→Example of processing output with IGNORE option on RESTART: remove blank) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
<dd>Restarts <var class="product">Model 204</var> and optionally, recovers files after a system failure | <dd>Restarts <var class="product">Model 204</var> and optionally, recovers files after a system failure | ||
</dl> | </dl> | ||
==Syntax== | ==Syntax== | ||
<p class="syntax">RESTART [ROLL BACK [TO < | <p class="syntax">RESTART [ROLL BACK [TO <span class="term">yy.ddd hh:mm:ss.th</span>]] | ||
[IGNORE (< | [IGNORE (<span class="term">filelist</span>)] | ||
[ERROR {CONTINUE | STOP | <u>OPERATOR</u>}] | [ERROR {CONTINUE | STOP | <u>OPERATOR</u>}] | ||
[NODYNAM] | [NODYNAM] | ||
[ROLL FORWARD | RERUNRB] | [ROLL FORWARD | RERUNRB] | ||
</p> | </p> | ||
Where: | |||
<ul> | <ul> | ||
<li> | <li>The <var>ROLL BACK</var> option requests that <var class="product">Model 204</var> invoke the ROLL BACK facility.</li> | ||
< | |||
</li> | |||
<li> | <li><var>TO <i>yy.ddd hh:mm:ss.th</i></var> is the timestamp ID of a checkpoint. If the <var>TO</var> keyword with timestamp argument is not specified, the database is rolled back to the latest checkpoint.</li> | ||
< | |||
</li> | |||
<li> | <li><var>ERROR</var> option indicates the way in which errors in opening files are handled. If <var>ERROR</var> is specified, you must also specify one of three options described in the following table: | ||
< | |||
<table> | <table> | ||
<tr class="head"> <th><p>Option </p></th> | |||
<th><p>Indicates that...</p></th> </tr> | |||
<tr> <th> | <tr> <th><p><var>IGNORE</var> </p></th> | ||
<p> | <td><p>The <var>IGNORE</var> option will force <var class="product">Model 204</var> recovery to skip processing of the listed filenames. For example: </p> | ||
</ | |||
</th | |||
< | |||
</var> | |||
<p class="code">IGNORE (FILE1, FILE2, FILE3, FILE4) | <p class="code">IGNORE (FILE1, FILE2, FILE3, FILE4) | ||
</p> | </p> | ||
<p>The filenames may have been allocated either statically or dynamically. </p> | <p>The filenames may have been allocated either statically or dynamically. </p> | ||
<p>IGNORE (<i>filelist</i>) may appear anywhere in the RESTART command. The file list must be enclosed in parentheses, even if only one file is specified.</p> | <p><var>IGNORE</var> (<i>filelist</i>) may appear anywhere in the <var>RESTART</var> command. The file list must be enclosed in parentheses, even if only one file is specified.</p></td> </tr> | ||
</td> </tr> | |||
<tr> <th>< | <tr> <th><p><var>CONTINUE</var> </p></th> | ||
< | <td><p>ROLL BACK processing is continued even if <var class="product">Model 204</var> cannot open all the files to be recovered.</p></td> </tr> | ||
</ | |||
<p>ROLL BACK processing is continued even if <var class="product">Model 204</var> cannot open all the files to be recovered.</p> | |||
</td> </tr> | |||
<tr> <th>< | <tr> <th><p><var>OPERATOR</var> </p></th> | ||
< | <td><p>The operator is prompted as to whether to continue if <var class="product">Model 204</var> cannot open all the files to be recovered. <var>OPERATOR</var> is also the default. </p></td> </tr> | ||
</ | |||
<p>The operator is prompted as to whether to continue if <var class="product">Model 204</var> cannot open all the files to be recovered. OPERATOR is also the default. </p> | |||
</td> </tr> | |||
<tr> <th>< | <tr> <th><p><var>STOP</var> </p></th> | ||
< | <td><p>ROLL BACK processing is not continued if <var class="product">Model 204</var> cannot open all the files to be recovered.</p></td> </tr> | ||
</ | |||
<p>ROLL BACK processing is not continued if <var class="product">Model 204</var> cannot open all the files to be recovered.</p> | |||
</td> </tr> | |||
</table> | </table> | ||
</li> | </li> | ||
<li> | <li>The <var>NODYNAM</var> option indicates that no files are to be dynamically allocated during recovery.</li> | ||
< | |||
</li> | |||
<li> | <li>The <var>ROLL FORWARD</var> option requests that <var class="product">Model 204</var> invoke the ROLL FORWARD facility after running the ROLL BACK facility. </li> | ||
< | |||
</li> | |||
<li> | <li>The <var>RERUNRB</var> option lets you undo operationally successful ROLL FORWARD processing. The <var>RERUNRB</var> option specifies that ROLL BACK processing can operate upon a file that was updated beyond the date-time of the checkpoint record. The <var>RERUNRB</var> option forces ROLL BACK processing to reuse the RESTART data set from the previous recovery. Then a file that was rolled forward may be rolled back and/or rolled forward as many times as required. | ||
< | <p> | ||
You can use the <var>RERUNRB</var> option only after a successful Roll Forward. You cannot use it to rerun a previously failed recovery, otherwise you will generate the following message: </p> | |||
<p class="code">M204.2741: ROLLBACK/ROLLFORWARD MUST BE RUN PRIOR TO RERUNRB - RECOVERY CANCELLED. | <p class="code">M204.2741: ROLLBACK/ROLLFORWARD MUST BE RUN PRIOR TO RERUNRB - RECOVERY CANCELLED. | ||
</p> | </p> | ||
<p>Without the RERUNRB option, a file that has been rolled forward may not be rolled back again and will receive either of the following messages:</p> | <p> | ||
Without the <var>RERUNRB</var> option, a file that has been rolled forward may not be rolled back again and will receive either of the following messages:</p> | |||
<p class="code">M204.0143: NO FILES CHANGED AFTER LAST CP, RESTART BYPASSED | <p class="code">M204.0143: NO FILES CHANGED AFTER LAST CP, RESTART BYPASSED | ||
M204.0145: THE FOLLOWING FILES CANNOT BE RECOVERED: | M204.0145: THE FOLLOWING FILES CANNOT BE RECOVERED: | ||
</p> | </p></li> | ||
</li> | </ul> | ||
==Example== | ==Example== | ||
<p class="code">RESTART ROLL BACK TO 88.300 10:58:16.98 - | <p class="code">RESTART ROLL BACK TO 88.300 10:58:16.98 - | ||
ERROR OPERATOR | ERROR OPERATOR | ||
</p> | </p> | ||
==Usage notes== | ==Usage notes== | ||
The RESTART command restarts <var class="product">Model 204</var> after a system failure. RESTART is used in conjunction with the checkpoint, ROLL BACK, and ROLL FORWARD facilities available to the system manager. | The <var>RESTART</var> command restarts <var class="product">Model 204</var> after a system failure. <var>RESTART</var> is used in conjunction with the checkpoint, ROLL BACK, and ROLL FORWARD facilities available to the system manager. | ||
<p class="note"><b>Note:</b> If you plan to use the <var class="product">Model 204</var> system recovery facilities, RESTART must be the first command issued by User 0, immediately following the last user parameter line in the User 0 input. </p> | <p class="note"><b>Note:</b> If you plan to use the <var class="product">Model 204</var> system recovery facilities, <var>RESTART</var> must be the first command issued by User 0, immediately following the last user parameter line in the User 0 input. </p> | ||
<p>Both the NODYNAM and RERUNRB options imply ROLL BACK processing. ROLL FORWARD processing is mutually exclusive with RERUNRB processing. If both are specified, RESTART processing aborts with the following message: </p> | <p> | ||
Both the <var>NODYNAM</var> and <var>RERUNRB</var> options imply ROLL BACK processing. ROLL FORWARD processing is mutually exclusive with <var>RERUNRB</var> processing. If both are specified, <var>RESTART</var> processing aborts with the following message: </p> | |||
<p class="code">M204.0357: INVALID RESTART OPTION: RERUNRB INCOMPATIBLE WITH ROLL FORWARD | <p class="code">M204.0357: INVALID RESTART OPTION: RERUNRB INCOMPATIBLE WITH ROLL FORWARD | ||
</p> | </p> | ||
<p>If recovery fails but some of the files were successfully recovered, a subsequent recovery run (secondary recovery) may generate the following information message, which does not result in an error condition, for files previously recovered: </p> | <p> | ||
If recovery fails but some of the files were successfully recovered, a subsequent recovery run (secondary recovery) may generate the following information message, which does not result in an error condition, for files previously recovered: </p> | |||
<p class="code">M204.2564: filename HAS ALREADY BEEN RECOVERED USING THIS CCARF | <p class="code">M204.2564: filename HAS ALREADY BEEN RECOVERED USING THIS CCARF | ||
</p> | </p> | ||
====Submitting RESTART without options==== | ====Submitting RESTART without options==== | ||
<p> If no options are given, the following dialog occurs:</p> | <p> | ||
If no options are given, the following dialog occurs:</p> | |||
<p class="code"><b>RESTART</b> | <p class="code"><b>RESTART</b> | ||
IS ROLL BACK RECOVERY REQUIRED? | IS ROLL BACK RECOVERY REQUIRED? | ||
Line 107: | Line 88: | ||
(NO) | (NO) | ||
</p> | </p> | ||
<p>YES can be abbreviated Y. NO can be abbreviated N.</p> | <p> | ||
<p>When the RESTART command is executed, <var class="product">Model 204</var> must determine whether to invoke the ROLL BACK and/or ROLL FORWARD processing. If RESTART is issued without options, <var class="product">Model 204</var> prompts you as shown above.</p> | <code>YES</code> can be abbreviated <code>Y</code>. <code>NO</code> can be abbreviated <code>N</code>.</p> | ||
<p>If the system manager does not include the ROLL BACK argument in the RESTART command and replies NO to the ROLL BACK prompt, <var class="product">Model 204</var> does not perform ROLL BACK and the new Online job starts immediately. The database is left in the state it was in at the time of the system failure. In general, if the previous Online job ended abnormally or if the entire system crashed, the ROLL BACK facility should be invoked.</p> | <p> | ||
When the <var>RESTART</var> command is executed, <var class="product">Model 204</var> must determine whether to invoke the ROLL BACK and/or ROLL FORWARD processing. If <var>RESTART</var> is issued without options, <var class="product">Model 204</var> prompts you as shown above.</p> | |||
<p> | |||
If the system manager does not include the <var>ROLL BACK</var> argument in the <var>RESTART</var> command and replies <code>NO</code> to the <code>ROLL BACK</code> prompt, <var class="product">Model 204</var> does not perform ROLL BACK, and the new Online job starts immediately. The database is left in the state it was in at the time of the system failure. In general, if the previous Online job ended abnormally or if the entire system crashed, the ROLL BACK facility should be invoked.</p> | |||
====RESTART recovery requirements==== | |||
For information on recovery requirements for <var>CCATEMP</var>, <var>NFILES</var>, and <var>NDIR</var>, see [[System_and_media_recovery#RESTART_recovery_requirements_-_CCATEMP.2C_NFILES.2C_NDIR|RESTART recovery requirements]]. | |||
====Rolling back and rolling forward==== | ====Rolling back and rolling forward==== | ||
<p>The system manager can request ROLL BACK and/or ROLL FORWARD processing for system recovery. ROLL BACK processing rolls back to the specified checkpoint all updates made to <var class="product">Model 204</var> files since the time of that checkpoint. This process leaves the database in a consistent state. Then, ROLL FORWARD processing reapplies as many updates performed prior to the system failure as possible.</p> | <p> | ||
<p>If ROLL BACK is performed, all files are rolled back to the specified checkpoint. Any changes made to files since that time are undone. If a checkpoint is not specified, <var class="product">Model 204</var> rolls back to the last checkpoint. During ROLL BACK processing, errors in opening files are handled as specified in the ERROR clause. Regardless of this argument, <var class="product">Model 204</var> sends to the operator's console a list of files that can be rolled back and a list of those that cannot be rolled back. </p> | The system manager can request ROLL BACK and/or ROLL FORWARD processing for system recovery. ROLL BACK processing rolls back to the specified checkpoint all updates made to <var class="product">Model 204</var> files since the time of that checkpoint. This process leaves the database in a consistent state. Then, ROLL FORWARD processing reapplies as many updates performed prior to the system failure as possible.</p> | ||
<p>If the system manager includes the ROLL FORWARD argument in the RESTART command or replies YES to the ROLL FORWARD prompt, <var class="product">Model 204</var> reapplies as many file updates as possible after performing ROLL BACK. <var class="product">Model 204</var> recovery facilities are also discussed in | <p> | ||
If ROLL BACK is performed, all files are rolled back to the specified checkpoint. Any changes made to files since that time are undone. If a checkpoint is not specified, <var class="product">Model 204</var> rolls back to the last checkpoint. During ROLL BACK processing, errors in opening files are handled as specified in the <var>ERROR</var> clause. Regardless of this argument, <var class="product">Model 204</var> sends to the operator's console a list of files that can be rolled back and a list of those that cannot be rolled back. </p> | |||
<p> | |||
If the system manager includes the <var>ROLL FORWARD</var> argument in the <var>RESTART</var> command or replies <code>YES</code> to the <code>ROLL FORWARD</code> prompt, <var class="product">Model 204</var> reapplies as many file updates as possible after performing ROLL BACK. <var class="product">Model 204</var> recovery facilities, including ROLL BACK and ROLL FORWARD, are also discussed in [[System and media recovery]].</p> | |||
====RESTART under z/VSE==== | ====RESTART under z/VSE==== | ||
<p>Under z/VSE, the DEFINE DATASET command must precede the User 0 parameter line in the CCAIN input stream, if tape journals or checkpoint datasets are used in RESTART recovery. Refer to [[DEFINE DATASET command|DEFINE DATASET: Data set or file characteristics]] for more information on this requirement.</p> | <p> | ||
Under z/VSE, the <var>DEFINE DATASET</var> command must precede the User 0 parameter line in the CCAIN input stream, if tape journals or checkpoint datasets are used in RESTART recovery. Refer to [[DEFINE DATASET command|DEFINE DATASET: Data set or file characteristics]] for more information on this requirement.</p> | |||
====Ignoring files on RESTART==== | ====Ignoring files on RESTART==== | ||
<p>The IGNORE option enables you to remove a problem file from restart, thus allowing successful recovery of the remaining non-problem files. </p> | <p> | ||
<p>The IGNORE option automatically forces the RERUNRB option. This means that all files not | The <var>IGNORE</var> option enables you to remove a problem file from restart, thus allowing successful recovery of the remaining non-problem files. </p> | ||
<p>An informational message, M204.2915, is issued during RESTART when a named file is | <p> | ||
The <var>IGNORE</var> option automatically forces the <var>RERUNRB</var> option. This means that all files not ignored will be rolled back, even if there had been a previous recovery run using the same RESTART and CCARF data sets.</p> | |||
<p> | |||
An informational message, M204.2915, is issued during <var>RESTART</var> when a named file is <var>IGNORE</var>d.</p> | |||
====Example of processing output with IGNORE option on RESTART==== | ====Example of processing output with IGNORE option on RESTART==== | ||
<p>The following example shows processing output with the IGNORE option: </p> | <p> | ||
The following example shows processing output with the <var>IGNORE</var> option: </p> | |||
<p class="code">M204.2512: ROLL BACK WILL USE THE FOLLOWING DATASET: RESTART | <p class="code">M204.2512: ROLL BACK WILL USE THE FOLLOWING DATASET: RESTART | ||
M204.1523: EOF REACHED IN FIRST PASS OF RESTART STREAM AFTER SEQ# 5558 OF 11.181 17:10:36.0 | M204.1523: EOF REACHED IN FIRST PASS OF RESTART STREAM AFTER SEQ# 5558 OF 11.181 17:10:36.0 | ||
M204.2915: IGNORE SPECIFIED FOR FILE K100VAIL BUT RECOVERABLE UPDATES WERE AVAILABLE | M204.2915: IGNORE SPECIFIED FOR FILE K100VAIL BUT RECOVERABLE UPDATES WERE AVAILABLE | ||
M204.2915: IGNORE SPECIFIED FOR FILE DEBCPROC WHICH HAD NO RECOVERABLE UPDATES | M204.2915: IGNORE SPECIFIED FOR FILE DEBCPROC WHICH HAD NO RECOVERABLE UPDATES | ||
Line 139: | Line 138: | ||
M204.0158: END OF ROLLBACK | M204.0158: END OF ROLLBACK | ||
</p> | </p> | ||
====Recovering dynamically allocated data sets==== | ====Recovering dynamically allocated data sets==== | ||
<p>Data sets that were dynamically allocated are normally closed and released after recovery. Therefore, you must reallocate the data sets when recovery is over. However, if a dynamically allocated data set was opened in deferred update mode and the NODYNAM option is not chosen, the data set remains opened and allocated after recovery. In this way deferred updates performed after recovery do not overwrite records sent to the deferred update data set before the system failure. The deferred update feature is explained in detail in | <p> | ||
<p>If the NODYNAM option is chosen, files that were dynamically allocated before a system failure are not dynamically allocated during recovery. The only files recovered are those specified in the JCL for recovery. Under z/VM, only files specified through FILEDEF statements are recovered. </p> | Data sets that were dynamically allocated are normally closed and released after recovery. Therefore, you must reallocate the data sets when recovery is over. However, if a dynamically allocated data set was opened in deferred update mode and the <var>NODYNAM</var> option is not chosen, the data set remains opened and allocated after recovery. In this way deferred updates performed after recovery do not overwrite records sent to the deferred update data set before the system failure. The deferred update feature is explained in detail in [[Deferred update feature]].</p> | ||
<p> | |||
If the <var>NODYNAM</var> option is chosen, files that were dynamically allocated before a system failure are not dynamically allocated during recovery. The only files recovered are those specified in the JCL for recovery. Under z/VM, only files specified through FILEDEF statements are recovered. </p> | |||
====Undoing ROLL FORWARD processing==== | ====Undoing ROLL FORWARD processing==== | ||
<p>ROLL FORWARD processing cannot specify a stopping point. Updates are reapplied to the place where RESTART recovery began. </p> | <p> | ||
<p>Recovery may be run multiple times, even when successful. For example, if multiple checkpoints were taken then the same recovery run may be submitted with any one of the following RESTART commands to recover the file to whatever stage the user | ROLL FORWARD processing cannot specify a stopping point. Updates are reapplied to the place where <var>RESTART</var> recovery began. </p> | ||
<p> | |||
Recovery may be run multiple times, even when successful. For example, if multiple checkpoints were taken then the same recovery run may be submitted with any one of the following <var>RESTART</var> commands to recover the file to whatever stage the user wants:</p> | |||
<p class="code">RESTART ROLL BACK ROLL FORWARD | <p class="code">RESTART ROLL BACK ROLL FORWARD | ||
RESTART RERUNRB */same as RESTART ROLL BACK RERUNRB/* | RESTART RERUNRB */same as RESTART ROLL BACK RERUNRB/* | ||
Line 152: | Line 157: | ||
RESTART ROLL FORWARD | RESTART ROLL FORWARD | ||
</p> | </p> | ||
<p>Because the RESTART command must be the first command in a run, each of the previously listed RESTART commands must be in a separate recovery run. </p> | <p> | ||
<p class="note"><b>Note:</b> After recovery is successful, you can use the RERUNRB option to force the roll back to recur. By running RESTART commands | Because the <var>RESTART</var> command must be the first command in a run, each of the previously listed <var>RESTART</var> commands must be in a separate recovery run. </p> | ||
<p class="note"><b>Note:</b> After recovery is successful, you can use the <var>RERUNRB</var> option to force the roll back to recur. By running <var>RESTART</var> commands similar to the previous sequence, one after another, you can roll files back to the job start or to intermediate locations, and then roll them forward to the job end as many times as you want.</p> | |||
==See also== | ==See also== | ||
<ul> | <ul> | ||
<li>[[System and media recovery]] for information on RESTART recovery data sets, RESTART recovery requirements, rerunning RESTART recovery, sub-transaction checkpoints, and more.</li> | |||
<li>The <var>[[RESTART operator command|RESTART]]</var>[[RESTART operator command| operator command]] is an entirely different command, which requests a user abend of a <var class="product">Model 204</var> user or task, for example, to break a CPU loop. | <li>The <var>[[RESTART operator command|RESTART]]</var>[[RESTART operator command| operator command]] is an entirely different command, which requests a user abend of a <var class="product">Model 204</var> user or task, for example, to break a CPU loop. | ||
</ul> | </ul> | ||
[[Category:Commands]] | [[Category:Commands]] |
Latest revision as of 22:16, 31 October 2017
Summary
- Privileges
- User 0
- Function
- Restarts Model 204 and optionally, recovers files after a system failure
Syntax
RESTART [ROLL BACK [TO yy.ddd hh:mm:ss.th]] [IGNORE (filelist)] [ERROR {CONTINUE | STOP | OPERATOR}] [NODYNAM] [ROLL FORWARD | RERUNRB]
Where:
- The ROLL BACK option requests that Model 204 invoke the ROLL BACK facility.
- TO yy.ddd hh:mm:ss.th is the timestamp ID of a checkpoint. If the TO keyword with timestamp argument is not specified, the database is rolled back to the latest checkpoint.
- ERROR option indicates the way in which errors in opening files are handled. If ERROR is specified, you must also specify one of three options described in the following table:
Option
Indicates that...
IGNORE
The IGNORE option will force Model 204 recovery to skip processing of the listed filenames. For example:
IGNORE (FILE1, FILE2, FILE3, FILE4)
The filenames may have been allocated either statically or dynamically.
IGNORE (filelist) may appear anywhere in the RESTART command. The file list must be enclosed in parentheses, even if only one file is specified.
CONTINUE
ROLL BACK processing is continued even if Model 204 cannot open all the files to be recovered.
OPERATOR
The operator is prompted as to whether to continue if Model 204 cannot open all the files to be recovered. OPERATOR is also the default.
STOP
ROLL BACK processing is not continued if Model 204 cannot open all the files to be recovered.
- The NODYNAM option indicates that no files are to be dynamically allocated during recovery.
- The ROLL FORWARD option requests that Model 204 invoke the ROLL FORWARD facility after running the ROLL BACK facility.
- The RERUNRB option lets you undo operationally successful ROLL FORWARD processing. The RERUNRB option specifies that ROLL BACK processing can operate upon a file that was updated beyond the date-time of the checkpoint record. The RERUNRB option forces ROLL BACK processing to reuse the RESTART data set from the previous recovery. Then a file that was rolled forward may be rolled back and/or rolled forward as many times as required.
You can use the RERUNRB option only after a successful Roll Forward. You cannot use it to rerun a previously failed recovery, otherwise you will generate the following message:
M204.2741: ROLLBACK/ROLLFORWARD MUST BE RUN PRIOR TO RERUNRB - RECOVERY CANCELLED.
Without the RERUNRB option, a file that has been rolled forward may not be rolled back again and will receive either of the following messages:
M204.0143: NO FILES CHANGED AFTER LAST CP, RESTART BYPASSED M204.0145: THE FOLLOWING FILES CANNOT BE RECOVERED:
Example
RESTART ROLL BACK TO 88.300 10:58:16.98 - ERROR OPERATOR
Usage notes
The RESTART command restarts Model 204 after a system failure. RESTART is used in conjunction with the checkpoint, ROLL BACK, and ROLL FORWARD facilities available to the system manager.
Note: If you plan to use the Model 204 system recovery facilities, RESTART must be the first command issued by User 0, immediately following the last user parameter line in the User 0 input.
Both the NODYNAM and RERUNRB options imply ROLL BACK processing. ROLL FORWARD processing is mutually exclusive with RERUNRB processing. If both are specified, RESTART processing aborts with the following message:
M204.0357: INVALID RESTART OPTION: RERUNRB INCOMPATIBLE WITH ROLL FORWARD
If recovery fails but some of the files were successfully recovered, a subsequent recovery run (secondary recovery) may generate the following information message, which does not result in an error condition, for files previously recovered:
M204.2564: filename HAS ALREADY BEEN RECOVERED USING THIS CCARF
Submitting RESTART without options
If no options are given, the following dialog occurs:
RESTART IS ROLL BACK RECOVERY REQUIRED? (YES) (NO) IS ROLL FORWARD ALSO REQUIRED? (YES) (NO)
YES
can be abbreviated Y
. NO
can be abbreviated N
.
When the RESTART command is executed, Model 204 must determine whether to invoke the ROLL BACK and/or ROLL FORWARD processing. If RESTART is issued without options, Model 204 prompts you as shown above.
If the system manager does not include the ROLL BACK argument in the RESTART command and replies NO
to the ROLL BACK
prompt, Model 204 does not perform ROLL BACK, and the new Online job starts immediately. The database is left in the state it was in at the time of the system failure. In general, if the previous Online job ended abnormally or if the entire system crashed, the ROLL BACK facility should be invoked.
RESTART recovery requirements
For information on recovery requirements for CCATEMP, NFILES, and NDIR, see RESTART recovery requirements.
Rolling back and rolling forward
The system manager can request ROLL BACK and/or ROLL FORWARD processing for system recovery. ROLL BACK processing rolls back to the specified checkpoint all updates made to Model 204 files since the time of that checkpoint. This process leaves the database in a consistent state. Then, ROLL FORWARD processing reapplies as many updates performed prior to the system failure as possible.
If ROLL BACK is performed, all files are rolled back to the specified checkpoint. Any changes made to files since that time are undone. If a checkpoint is not specified, Model 204 rolls back to the last checkpoint. During ROLL BACK processing, errors in opening files are handled as specified in the ERROR clause. Regardless of this argument, Model 204 sends to the operator's console a list of files that can be rolled back and a list of those that cannot be rolled back.
If the system manager includes the ROLL FORWARD argument in the RESTART command or replies YES
to the ROLL FORWARD
prompt, Model 204 reapplies as many file updates as possible after performing ROLL BACK. Model 204 recovery facilities, including ROLL BACK and ROLL FORWARD, are also discussed in System and media recovery.
RESTART under z/VSE
Under z/VSE, the DEFINE DATASET command must precede the User 0 parameter line in the CCAIN input stream, if tape journals or checkpoint datasets are used in RESTART recovery. Refer to DEFINE DATASET: Data set or file characteristics for more information on this requirement.
Ignoring files on RESTART
The IGNORE option enables you to remove a problem file from restart, thus allowing successful recovery of the remaining non-problem files.
The IGNORE option automatically forces the RERUNRB option. This means that all files not ignored will be rolled back, even if there had been a previous recovery run using the same RESTART and CCARF data sets.
An informational message, M204.2915, is issued during RESTART when a named file is IGNOREd.
Example of processing output with IGNORE option on RESTART
The following example shows processing output with the IGNORE option:
M204.2512: ROLL BACK WILL USE THE FOLLOWING DATASET: RESTART M204.1523: EOF REACHED IN FIRST PASS OF RESTART STREAM AFTER SEQ# 5558 OF 11.181 17:10:36.0 M204.2915: IGNORE SPECIFIED FOR FILE K100VAIL BUT RECOVERABLE UPDATES WERE AVAILABLE M204.2915: IGNORE SPECIFIED FOR FILE DEBCPROC WHICH HAD NO RECOVERABLE UPDATES M204.2915: IGNORE SPECIFIED FOR FILE K100UTAH BUT RECOVERABLE UPDATES WERE AVAILABLE M204.0148: THE FOLLOWING FILES WILL BE ROLLED BACK: M204.0149: K100FIJI M204.0149: K100MOAB M204.0149: K100HILO M204.0149: K100KONA M204.0149: K100THAI M204.0149: K100SNOW M204.0149: K100TBLE M204.0149: K100TBLX M204.0157: ROLLED BACK TO TRANSACTION CHECKPOINT 11.181 17:09:36.33 M204.0158: END OF ROLLBACK
Recovering dynamically allocated data sets
Data sets that were dynamically allocated are normally closed and released after recovery. Therefore, you must reallocate the data sets when recovery is over. However, if a dynamically allocated data set was opened in deferred update mode and the NODYNAM option is not chosen, the data set remains opened and allocated after recovery. In this way deferred updates performed after recovery do not overwrite records sent to the deferred update data set before the system failure. The deferred update feature is explained in detail in Deferred update feature.
If the NODYNAM option is chosen, files that were dynamically allocated before a system failure are not dynamically allocated during recovery. The only files recovered are those specified in the JCL for recovery. Under z/VM, only files specified through FILEDEF statements are recovered.
Undoing ROLL FORWARD processing
ROLL FORWARD processing cannot specify a stopping point. Updates are reapplied to the place where RESTART recovery began.
Recovery may be run multiple times, even when successful. For example, if multiple checkpoints were taken then the same recovery run may be submitted with any one of the following RESTART commands to recover the file to whatever stage the user wants:
RESTART ROLL BACK ROLL FORWARD RESTART RERUNRB */same as RESTART ROLL BACK RERUNRB/* RESTART ROLL BACK TO 03.204 14:23:18.98 RERUNRB RESTART ROLL BACK TO 03.204 14:23:18.95 RERUNRB RESTART ROLL BACK TO 03.204 14:23:18.71 RERUNRB RESTART ROLL FORWARD
Because the RESTART command must be the first command in a run, each of the previously listed RESTART commands must be in a separate recovery run.
Note: After recovery is successful, you can use the RERUNRB option to force the roll back to recur. By running RESTART commands similar to the previous sequence, one after another, you can roll files back to the job start or to intermediate locations, and then roll them forward to the job end as many times as you want.
See also
- System and media recovery for information on RESTART recovery data sets, RESTART recovery requirements, rerunning RESTART recovery, sub-transaction checkpoints, and more.
- The RESTART operator command is an entirely different command, which requests a user abend of a Model 204 user or task, for example, to break a CPU loop.