129 lines
8.8 KiB
HTML
129 lines
8.8 KiB
HTML
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!DOCTYPE html
|
||
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
|
<html lang="en-us" xml:lang="en-us">
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
|
<meta name="security" content="public" />
|
||
|
<meta name="Robots" content="index,follow" />
|
||
|
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
||
|
<meta name="DC.Type" content="concept" />
|
||
|
<meta name="DC.Title" content="Considerations for recovery procedures after eliminating save-outage time" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzaiurzaiu348.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzaiurzaiu348.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzaiurzaiu313.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzaiurzaiu358.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzaiurzaiu347.htm" />
|
||
|
<meta name="copyright" content="(C) Copyright IBM Corporation 2004, 2006" />
|
||
|
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2004, 2006" />
|
||
|
<meta name="DC.Format" content="XHTML" />
|
||
|
<meta name="DC.Identifier" content="rzaiu365" />
|
||
|
<meta name="DC.Language" content="en-us" />
|
||
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
||
|
<!-- US Government Users Restricted Rights -->
|
||
|
<!-- Use, duplication or disclosure restricted by -->
|
||
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
||
|
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
|
||
|
<link rel="stylesheet" type="text/css" href="./ic.css" />
|
||
|
<title>Considerations for recovery procedures after eliminating save-outage
|
||
|
time</title>
|
||
|
</head>
|
||
|
<body id="rzaiu365"><a name="rzaiu365"><!-- --></a>
|
||
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
||
|
<h1 class="topictitle1">Considerations for recovery procedures after eliminating save-outage
|
||
|
time</h1>
|
||
|
<div><p>In general, the server cannot preserve application boundaries because they
|
||
|
are defined by the application. It is left up to you to provide for any of
|
||
|
the appropriate recovery procedures when you use the save-while-active function
|
||
|
to eliminate your save-outage time.</p>
|
||
|
<p>This topic discusses some of the considerations for save-while-active recovery
|
||
|
procedures. Additional recovery procedures are needed to bring the objects
|
||
|
to a consistent state in relationship to each other after the restore operation
|
||
|
is completed. You must determine the exact steps that are required for these
|
||
|
recovery procedures at the time the objects are being saved. The recovery
|
||
|
procedures must be performed after the objects from the save-while-active
|
||
|
media are restored, but before the objects are used by any application.</p>
|
||
|
<p>You need to consider these recovery procedures if you are using the save-while-active
|
||
|
function to eliminate your save-outage time:</p>
|
||
|
</div>
|
||
|
<div>
|
||
|
<div class="familylinks">
|
||
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzaiurzaiu348.htm" title="Use the save-while-active function to eliminate your save-outage time.">Eliminate your save-outage time</a></div>
|
||
|
</div>
|
||
|
<div class="relconcepts"><strong>Related concepts</strong><br />
|
||
|
<div><a href="rzaiurzaiu313.htm" title="This information tells you what happens when you use the save-while-active function to eliminate your save-outage time.">Eliminating save-outage time: Overview</a></div>
|
||
|
<div><a href="rzaiurzaiu347.htm">Example: Restore libraries after reducing save-outage time</a></div>
|
||
|
</div>
|
||
|
<div class="reltasks"><strong>Related tasks</strong><br />
|
||
|
<div><a href="rzaiurzaiu358.htm">Recommended recovery procedures after eliminating save-outage time</a></div>
|
||
|
</div>
|
||
|
<div class="relref"><strong>Related reference</strong><br />
|
||
|
<div><a href="rzaiurzaiu348.htm" title="Use the save-while-active function to eliminate your save-outage time.">Eliminate your save-outage time</a></div>
|
||
|
</div>
|
||
|
</div><div class="nested1" xml:lang="en-us" id="conceptSunDec051619142004"><a name="conceptSunDec051619142004"><!-- --></a><h2 class="topictitle2">If you use commitment control within your application, force one checkpoint
|
||
|
during the save operation, and wait for transaction boundaries</h2>
|
||
|
<div><p>If you specify SAVACT(*SYNCLIB) for the save operation, then all the data
|
||
|
is saved with one common checkpoint. If you use commitment control to define
|
||
|
all of the application boundaries and wait for transaction boundaries during
|
||
|
the save operation, the recovery procedure is a basic restore of your objects.</p>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="nested1" xml:lang="en-us" id="waitfortransactionboundaries"><a name="waitfortransactionboundaries"><!-- --></a><h2 class="topictitle2">If you use commitment control within your application, allow multiple
|
||
|
checkpoints during the save operation, and wait for transaction boundaries</h2>
|
||
|
<div><p>If you specify SAVACT(*SYSDFN) or SAVACT(*LIB) for the save operation,
|
||
|
then the data is saved with multiple checkpoints. If you use commitment control
|
||
|
to define all of the application boundaries and wait for transaction boundaries
|
||
|
during the save operation, the recovery procedure requires you to apply or
|
||
|
remove journaled changes to reach a common application boundary. </p>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="nested1" xml:lang="en-us" id="donotwaitfortransaction"><a name="donotwaitfortransaction"><!-- --></a><h2 class="topictitle2">If you use commitment control within your application, force one checkpoint
|
||
|
during the save operation, and do not wait for transaction boundaries</h2>
|
||
|
<div><p>If you specify SAVACT(*SYNCLIB) for the save operation, then the data is
|
||
|
saved with one common checkpoint. If you use commitment control and specify
|
||
|
*NOCMTBDY on the SAVACTWAIT parameter for the save operation, the recovery
|
||
|
procedure requires you to apply or remove journaled changes to complete or
|
||
|
rollback your partial transactions and reach commit boundaries. </p>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="nested1" xml:lang="en-us" id="ifyouusecommitmentcontrolwithinyourapplicationallowmultiplecheckpoints"><a name="ifyouusecommitmentcontrolwithinyourapplicationallowmultiplecheckpoints"><!-- --></a><h2 class="topictitle2">If you use commitment control within your application, allow multiple
|
||
|
checkpoints</h2>
|
||
|
<div><p>If you specify SAVACT(*SYSDFN) or SAVACT(*LIB) for the save operation,
|
||
|
then the data is saved with multiple checkpoints. If you use commitment control
|
||
|
and specify *NOCMTBDY on the SAVACTWAIT parameter for the save operation,
|
||
|
the recovery procedure requires you to apply or remove journaled changes to
|
||
|
complete partial transactions and bring them to a common application boundary. </p>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="nested1" xml:lang="en-us" id="objectsjournaled"><a name="objectsjournaled"><!-- --></a><h2 class="topictitle2">If you do not use commitment control but all objects are journaled</h2>
|
||
|
<div><p>If all application-dependent objects are journaled but commitment control
|
||
|
is not used, then you can apply or remove journaled changes. These commands
|
||
|
can bring all of the objects to an application boundary after restoring them
|
||
|
from the save-while-active media. However, application boundaries are not
|
||
|
recorded in the journal so you will need to determine where the boundaries
|
||
|
are on an object by object basis. When the journaled object reaches a checkpoint,
|
||
|
the journal receiver gets an additional journal entry in conjunction with
|
||
|
the object saved journal entry. The journal entry notes that you used the
|
||
|
save-while-active function to save the object and is used by the APYJRNCHG
|
||
|
and RMVJRNCHG commands as the location to start the operation when the FROMENT(*LASTSAVE)
|
||
|
parameter is used. It is critical that the currently attached journal receiver
|
||
|
be saved along with the objects being journaled. If more than one journal
|
||
|
is being used to journal the objects, then all attached receivers must be
|
||
|
saved. Include the request to save the receiver in the same save request as
|
||
|
that for the journaled objects. Or save the receiver in a separate save request
|
||
|
after the save of the journaled objects. This save is necessary because the
|
||
|
attached journal receiver will contain the entries that may be required by
|
||
|
any apply or remove journaled changes operation that is part of the recovery
|
||
|
when using the save-while-active media. </p>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="nested1" xml:lang="en-us" id="objectsnotjournaled"><a name="objectsnotjournaled"><!-- --></a><h2 class="topictitle2">If commitment control is not used and objects are not journaled</h2>
|
||
|
<div><p>If you do not define your application boundaries you will have to do a
|
||
|
restore and do a recovery from an abnormal end. If you do not know what procedures
|
||
|
are required for recovering an abnormal end, then use the method to Example:
|
||
|
Restore libraries after reducing save-outage time.</p>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
</body>
|
||
|
</html>
|