184 lines
10 KiB
HTML
184 lines
10 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="task" />
|
|
<meta name="DC.Title" content="Example: Restoring objects with partial transactions" />
|
|
<meta name="DC.Relation" scheme="URI" content="rzaiurzaiu348.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="../rzai8/rzai8overview.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="rzaiurestoreobj" />
|
|
<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>Example: Restoring objects with partial transactions</title>
|
|
</head>
|
|
<body id="rzaiurestoreobj"><a name="rzaiurestoreobj"><!-- --></a>
|
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
|
<h1 class="topictitle1">Example: Restoring objects with partial transactions</h1>
|
|
<div><div class="section"> <p>If you perform save-while-active operations that can result in
|
|
objects that are saved with partial transactions, it is recommended that you
|
|
use Backup, Recovery, and Media Services (BRMS). You can use BRMS to automate
|
|
your backup and recovery operations. BRMS automatically applies changes to
|
|
objects with partial transactions and restores them to a usable state. </p>
|
|
<p> If
|
|
an object is saved with partial transactions, FROMENT(*LASTSAVE) will be required
|
|
when applying or removing journaled changes on the restored version of the
|
|
object.</p>
|
|
<p>When you use the character-based interface to restore objects
|
|
with partial transactions, perform the following steps to restore libraries
|
|
CHK and SAV: </p>
|
|
</div>
|
|
<ol><li class="stepexpand"><span></span> Restore the two libraries with the following commands: <pre>RSTLIB SAVLIB(CHK) DEV(TAP01)
|
|
|
|
RSTLIB SAVLIB(SAV) DEV(TAP01)</pre>
|
|
<p>If the journals still exist on
|
|
the system, they are not restored. However, this is not a problem.</p>
|
|
<p>If
|
|
they did not exist, the server will restore the journal objects before the
|
|
other objects.</p>
|
|
</li>
|
|
<li class="stepexpand"><span></span> Restore the earliest receiver as specified by the outfile.
|
|
If the journal receivers are in libraries other than CHK or SAV at the time
|
|
of the save and they do not currently exist on the server, use the following
|
|
restore command to restore the receivers: <pre>RSTOBJ OBJ(attached-receiver-at-save-time) +
|
|
SAVLIB(receiver-library) +
|
|
DEV(TAP01) +
|
|
OUTPUT(*OUTFILE)OUTFILE(lib/file)</pre>
|
|
<p>If the attached receivers
|
|
were in CHK or SAV when you saved the data and they did not exist prior to
|
|
the RSTLIB operation, they were restored as part of that RSTLIB operation</p>
|
|
</li>
|
|
<li class="stepexpand"><span></span> Determine a point in time, or application boundary,
|
|
in which to bring the objects in CHK and SAV. This way all of the objects
|
|
are in a consistent state in relationship to each other. After determining
|
|
the desired application boundary, you might need to restore additional journal
|
|
receivers. You can use the WRKJRNA command to determine the appropriate range
|
|
of receivers you need for the ensuing Apply Journaled Changes (APYJRNCHG)
|
|
operations. You can use the DSPJRN command to locate the exact sequence number
|
|
that identifies the desired application boundary. If multiple journals are
|
|
involved, you must locate the same application boundary (most likely identified
|
|
by the timestamp) in each journal. You must also note the appropriate journal
|
|
sequence number. If you need to restore additional journal receivers, but
|
|
the receivers are not online, restore them with the following restore command.
|
|
Multiple restore commands may be necessary for this step: <pre>RSTOBJ OBJ(other-needed-receivers) +
|
|
SAVLIB(receiver-library) +
|
|
DEV(TAP01)</pre>
|
|
</li>
|
|
<li class="stepexpand"><span></span> Bring the objects forward to a specific
|
|
application boundary with one of the following Apply Journaled Changes (APYJRNCHG)
|
|
commands. Different variations of the APYJRNCHG command may be appropriate
|
|
based on the given criteria. <p>If any objects received changes during the
|
|
save operation, and they were under commitment control, the commit boundaries
|
|
will be preserved on the following APYJRNCHG commands. If you do not wish
|
|
to have the commitment control boundaries preserved, then you would need to
|
|
specify CMTBDY(*NO) on the following APYJRNCHG commands.</p>
|
|
<ol type="a"><li>Use the commands below to apply the journaled changes to the objects (completed
|
|
or partial) if the following is true: <ul><li>The objects were saved prior to V5R3.</li>
|
|
<li>You did not restore the Journal because the objects were being restored
|
|
to the system from where they were saved.</li>
|
|
<li>The media used represent the most recent save of the objects.</li>
|
|
<li>You saved the objects specifying UPDHST(*YES) on the save command.</li>
|
|
</ul>
|
|
<pre>APYJRNCHG JRN(jrnlib/jrnname) +
|
|
FROMENT(*LASTSAVE) +
|
|
OBJ((CHK/*ALL)) +
|
|
TOENTLRG(seq#-for-application-boundary)
|
|
|
|
APYJRNCHG JRN(jrnlib/jrnname) +
|
|
FROMENT(*LASTSAVE) +
|
|
OBJ((SAV/*ALL)) +
|
|
TOENTLRG(seq#-for-application-boundary)</pre>
|
|
<p>If multiple
|
|
journals are involved, then repeat these commands for each journal specifying
|
|
the correct sequence number (TOENTLRG parameter) that identifies the desired
|
|
application boundary. Note that the TOENTLRG sequence number is very likely
|
|
different for each journal in CHK and SAV, but they all identify a common
|
|
application boundary.</p>
|
|
</li>
|
|
<li>Use the commands below to apply the journaled changes to the objects (completed
|
|
or partial) if the following is true: <ul><li>The objects were saved prior to V5R3.</li>
|
|
<li>You restored the journal.</li>
|
|
<li>The media used represent the most recent save of the objects.</li>
|
|
<li>You saved the objects specifying UPDHST(*YES) on the save command.</li>
|
|
</ul>
|
|
<pre>APYJRNCHG JRN(jrnlib/jrnname) +
|
|
OBJ((CHK/*ALL)) +
|
|
RCVRNG(rcv-attached-at-save-time +
|
|
ending-rcv) +
|
|
FROMENT(*LASTSAVE) +
|
|
TOENTLRG(seq#-for-application-boundary)
|
|
|
|
APYJRNCHG JRN(jrnlib/jrnname) +
|
|
OBJ((SAV/*ALL)) +
|
|
RCVRNG(rcv-attached-at-save-time +
|
|
ending-rcv) +
|
|
FROMENT(*LASTSAVE) +
|
|
TOENTLRG(seq#-for-application-boundary)</pre>
|
|
<p>In the situation
|
|
where the journal is restored, and the journaled objects for which changes
|
|
are going to be applied were saved prior to V5R3, the server cannot determine
|
|
the correct receiver range. Therefore, the correct range of receivers must
|
|
be specified on the RCVRNG parameter. Note that the attached receiver at the
|
|
time that the libraries were saved is the specified starting journal receiver.
|
|
If the journaled objects for which changes are going to be applied were saved
|
|
in V5R3 or later, then the server can determine the correct receiver range
|
|
when the default of RCVRNG(*LASTSAVE) is used. In this situation, the apply
|
|
command from step a is correct.</p>
|
|
<p>If multiple journals are involved,
|
|
then repeat these commands for each journal specifying the correct sequence
|
|
number (TOENTLRG parameter) that identifies the desired application boundary.
|
|
Note that the TOENTLRG sequence number is very likely different for each journal
|
|
in CHK and SAV, but they all identify a common application boundary.</p>
|
|
</li>
|
|
<li>Do the following commands if your objects were saved prior to V5R3 and
|
|
the save-while-active media used does not represent the most recent save of
|
|
the objects specifying UPDHST(*YES). <ol type="i"><li>Use the DSPJRN command to determine the sequence number of the start-of-save
|
|
journal entry for each object. </li>
|
|
<li>Issue an individual APYJRNCHG command for each of the objects.</li>
|
|
</ol>
|
|
The following example demonstrates such an APYJRNCHG command: <pre>APYJRNCHG JRN(jrnlib/jrnname) +
|
|
OBJ((filelib/filename filembr)) +
|
|
RCVRNG(rcv-attached-at-save-time +
|
|
ending-rcv) +
|
|
FROMENT(seq#-for-start-of-save-entry) +
|
|
FROMENT(*LASTSAVE) +
|
|
TOENT(seq#-for-application-boundary)</pre>
|
|
<p>If you are not
|
|
using V5R3 and the most recent save of the objects is not being used, FROMENT(*LASTSAVE)
|
|
cannot be specified on the APYJRNCHG commands. An individual sequence number
|
|
must be specified for each of the objects in libraries CHK and SAV</p>
|
|
<p>Some
|
|
of the APYJRNCHG commands could specify multiple objects if there is a continuous
|
|
series of start-of-save entries in the journal. The members identified by
|
|
the continuous series of start-of-save journal entries could be applied to
|
|
with a single APYJRNCHG command by specifying the earliest sequence number
|
|
of all the start-of-save entries in the continuous series for the FROMENT
|
|
parameter. If you are using V5R3, use the *LASTSAVE value in the FROMENT parameter.</p>
|
|
</li>
|
|
</ol>
|
|
</li>
|
|
</ol>
|
|
<div class="section"></div>
|
|
</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="relinfo"><strong>Related information</strong><br />
|
|
<div><a href="../rzai8/rzai8overview.htm">Backup, Recovery and Media Services</a></div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html> |