217 lines
14 KiB
HTML
217 lines
14 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="Apply journaled changes" />
|
||
|
<meta name="abstract" content="If an object becomes damaged or is not usable you can recover the object using the Apply Journaled Changes (APYJRNCHG) or Apply Journaled Changes Extend (APYJRNCHGX) command. If you restore an object that was saved with partial transactions, then you must apply journaled changes to that object before it is usable." />
|
||
|
<meta name="description" content="If an object becomes damaged or is not usable you can recover the object using the Apply Journaled Changes (APYJRNCHG) or Apply Journaled Changes Extend (APYJRNCHGX) command. If you restore an object that was saved with partial transactions, then you must apply journaled changes to that object before it is usable." />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzakiapyjrnchg.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzakiifsconsid.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzakiwrkfwrdrecov.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="../cl/apyjrnchg.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="../cl/apyjrnchgx.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzakijrncodes.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="../cl/cpyf.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="../cl/inzpfm.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="../cl/rgzpfm.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="../cl/dspjrn.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="../cl/rcvjrne.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="../cl/rtvjrne.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="../apis/QJORJRNE.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzakiqajrnchg.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="rzakiappyjrn" />
|
||
|
<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>Apply journaled changes</title>
|
||
|
</head>
|
||
|
<body id="rzakiappyjrn"><a name="rzakiappyjrn"><!-- --></a>
|
||
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
||
|
<h1 class="topictitle1">Apply journaled changes</h1>
|
||
|
<div><p>If an object becomes damaged or is not usable you can recover the
|
||
|
object using the <span class="cmdname">Apply Journaled Changes (APYJRNCHG)</span> or <span class="cmdname">Apply
|
||
|
Journaled Changes Extend (APYJRNCHGX)</span> command. If you restore an
|
||
|
object that was saved with partial transactions, then you must apply journaled
|
||
|
changes to that object before it is usable.</p>
|
||
|
<div class="section"><h4 class="sectiontitle">Difference between APYJRNCHG and APYJRNCHGX</h4><p><img src="./delta.gif" alt="Start of change" />There
|
||
|
are slight differences between the <span class="cmdname">Apply Journaled Changes (APYJRNCHG)</span> command
|
||
|
and the <span class="cmdname">Apply Journaled Changes Extend (APYJRNCHGX)</span> command.
|
||
|
The <span class="cmdname">APYJRNCHGX</span> command only applies entries for database
|
||
|
files and requires entries to be applied for all files in a library. This
|
||
|
command will also apply entries for logical files found in the library, and
|
||
|
it will apply the create file (D CT) journal entry. The <span class="cmdname">APYJRNCHG</span> command
|
||
|
will not apply entries for logical files, or the create file entry. The APYJRNCHG
|
||
|
command also applies entries for non-database objects.<img src="./deltaend.gif" alt="End of change" /></p>
|
||
|
</div>
|
||
|
<div class="section"><h4 class="sectiontitle">Applying journaled changes to all objects</h4><p>You can
|
||
|
apply journaled changes to all objects that are journaled to the journal by
|
||
|
specifying OBJ(*ALLJRNOBJ) on the APYJRNCHG command.</p>
|
||
|
</div>
|
||
|
<div class="section"><h4 class="sectiontitle">Applying journaled changes and commitment control</h4><p>You
|
||
|
can ensure that commitment transaction boundaries are honored during the apply
|
||
|
journaled changes operations by using the commit boundary (CMTBDY) parameter.
|
||
|
The default value for the CMTBDY parameter is *YES. If the system encounters
|
||
|
a journal entry that causes the apply or remove process to stop for the object,
|
||
|
the commitment boundary might not be honored.</p>
|
||
|
</div>
|
||
|
<div class="section"><h4 class="sectiontitle">Error handling</h4><p>When the system encounters a journal
|
||
|
entry it cannot process, it ends apply processing either for that specific
|
||
|
object or for the entire apply operation. You can specify how the system behaves
|
||
|
when it encounters a journal entry it cannot process with the Object Error
|
||
|
Option (OBJERROPT) parameter on the <span class="cmdname">APYJRNCHG</span> or <span class="cmdname">APYJRNCHGX</span> command.
|
||
|
If you specify OBJERROPT(*CONTINUE), the system ends apply processing for
|
||
|
the specific object that has an error, but it continues apply processing for
|
||
|
the other objects in the apply operation. If you specify OBJERROPT(*END),
|
||
|
the system ends processing for the entire apply operation. The OBJERROPT parameter
|
||
|
is also available for the <span class="cmdname">Remove Journaled Changes (RMVJRNCHG)</span> command.
|
||
|
Actions of applying or removing journaled changes by journal code shows which
|
||
|
entry types cause processing to end for an object.</p>
|
||
|
</div>
|
||
|
<div class="section"><h4 class="sectiontitle">Before you start applying changes</h4><p>You must first
|
||
|
reestablish the object to a condition that you know is undamaged.</p>
|
||
|
<ul><li>To reestablish the object, restore the last saved copy of the object.
|
||
|
The object must have been saved while it was being journaled.</li>
|
||
|
<li>If you saved a database physical file by using the <span class="cmdname">Copy File
|
||
|
(CPYF)</span> command, use the CPYF command to restore the member by overlaying
|
||
|
the contents of the existing object with the old values.</li>
|
||
|
<li>If the member of a database physical file was just initialized, initialize
|
||
|
the member again using the <span class="cmdname">Initialize Physical File Member (INZPFM)</span> command
|
||
|
or a user-created application program.</li>
|
||
|
<li>If a member of a database physical file was just reorganized, reorganize
|
||
|
the member again using the <span class="cmdname">Reorganize Physical File Member (RGZPFM)</span> command.</li>
|
||
|
</ul>
|
||
|
<p>You must restore the needed journal receivers if any of the following
|
||
|
are true:</p>
|
||
|
<ul><li>If the journal receivers were deleted since the object was last staved
|
||
|
(or some other point).</li>
|
||
|
<li>If the journal receivers were saved with their storage freed.</li>
|
||
|
</ul>
|
||
|
<p>When you apply journaled changes to an object, the object cannot be
|
||
|
in use by anyone else.</p>
|
||
|
</div>
|
||
|
<div class="section"><h4 class="sectiontitle">Starting and stopping points for applying journaled changes</h4><p>When
|
||
|
the condition of the object has been established, use the APYJRNCHG or APYJRNCHGX
|
||
|
command to apply the changes that are recorded in the journal to the object.</p>
|
||
|
<p>The
|
||
|
system applies the changes to the object in the same order as they were originally
|
||
|
made. You must plan where you want to start and stop applying changes. Use
|
||
|
the <span class="cmdname">Display Journal (DSPJRN)</span> command to identify the desired
|
||
|
starting and ending points. If you use a control language (CL) program for
|
||
|
your recovery procedures, use the following:</p>
|
||
|
<ul><li><span class="cmdname">Receive Journal Entry (RCVJRNE)</span> command to receive
|
||
|
journal entries as they are written to the journal receiver.</li>
|
||
|
<li><span class="cmdname">Retrieve Journal Entry (RTVJRNE)</span> command to retrieve
|
||
|
a journal entry and place it in program variables.</li>
|
||
|
</ul>
|
||
|
<p>You can also use the <span class="apiname">QjoRetrieveJournalEntries</span> API
|
||
|
to retrieve the information into a High Level Language (HLL) program.</p>
|
||
|
</div>
|
||
|
<div class="section"><h4 class="sectiontitle">Start the apply</h4><p>On the APYJRNCHG or APYJRNCHGX command,
|
||
|
specify the first journal entry to be applied to the object. This entry can
|
||
|
be selected from any of the following points:</p>
|
||
|
<ul><li>After the last save of the object</li>
|
||
|
<li>From the first journal entry</li>
|
||
|
<li>From an identified sequence number that corresponds to a date and time
|
||
|
stamp</li>
|
||
|
<li>From an identified sequence number that corresponds to the start or end
|
||
|
of a particular job's use of the object provided that you did not specify
|
||
|
one of the following: <ul><li>OMTJRNE(*OPNCLO) when starting journaling or changing the journaling attributes
|
||
|
for object.</li>
|
||
|
<li>OMTJRNE(*OPNCLOSYN) when starting journaling or changing the journaling
|
||
|
attributes for a directory or stream file.</li>
|
||
|
<li>RCVSIZOPT(*MINFIXLEN) for the journal at any time while the object was
|
||
|
journaled.</li>
|
||
|
<li>A FIXLENDTA option that omitted the job name.</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
<li>A specific sequence number<div class="note"><span class="notetitle">Note:</span> If an object was restored with partial
|
||
|
transactions, then you must specify FROMENT(*LASTSAVE) or FROMENTLRG (*LASTSAVE).</div>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<div class="section"><h4 class="sectiontitle">End the apply</h4><p>You can stop applying the journal
|
||
|
entries at the following:</p>
|
||
|
<ul><li>The end of the data in the last journal receiver in the receiver range</li>
|
||
|
<li>A particular entry in the journal</li>
|
||
|
<li>A date and time stamp</li>
|
||
|
<li>A commitment boundary</li>
|
||
|
<li>The start or end of a particular job's use of the data in the object,
|
||
|
provided you did not specify the following: <ul><li>OMTJRNE(*OPNCLO) when starting journaling or changing the journaling attributes
|
||
|
for the object.</li>
|
||
|
<li>OMTJRNE(*OPNCLOSYN) when starting journaling or changing the journaling
|
||
|
attributes for a directory or stream file.</li>
|
||
|
<li>RCVSIZOPT(*MINFIXLEN) for the journal at any time while the object was
|
||
|
journaled.</li>
|
||
|
<li>A FIXLENDTA option that omitted the job name.</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
<li>The journal entry that indicates when the object was last restored</li>
|
||
|
<li>A specific sequence number</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<div class="section"><h4 class="sectiontitle">The apply and remove journaled changes output file</h4><p>It
|
||
|
is highly recommended that you use the apply and remove journaled changes
|
||
|
output file when you apply journaled changes. The output file contains a record
|
||
|
for each object that the apply operation processes. It contains a record for
|
||
|
each object created and each object deleted during the apply. This output
|
||
|
file is especially useful when the apply ends early. It is much easier to
|
||
|
query the output file for the status of each object rather then searching
|
||
|
through the job log messages. Also the messages are limited to 512 while the
|
||
|
output file is not limited.</p>
|
||
|
</div>
|
||
|
<div class="section"><h4 class="sectiontitle">Considerations for applying changes</h4><p>Considerations
|
||
|
for applying changes are as follows:</p>
|
||
|
<ul><li>When you apply journaled changes to integrated file system objects, you
|
||
|
need to be aware of integrated file system considerations.</li>
|
||
|
<li>If you need to apply entries for less than 300 objects, and your database
|
||
|
files have only one member, or you will be applying changes to all members
|
||
|
of the files, then you may wish to use the Forward Recovery option through
|
||
|
the <span class="cmdname">Work with Journals (WRKJRN)</span> command.</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div>
|
||
|
<ul class="ullinks">
|
||
|
<li class="ulchildlink"><strong><a href="rzakiifsconsid.htm">Integrated file system considerations for applying journaled changes</a></strong><br />
|
||
|
If there is a create entry or delete entry in the range of journal entries to which you are applying journaled changes, changes to a directory can cause the creation or deletion of an object.</li>
|
||
|
<li class="ulchildlink"><strong><a href="rzakiwrkfwrdrecov.htm">Apply journaled changes with the WRKJRN command</a></strong><br />
|
||
|
The <span class="cmdname">Work with Journal (WRKJRN)</span> command can be
|
||
|
used to recover any journaled object. When you select option 2, you choose
|
||
|
from a list of object types for recovery. Choose an object type to view the
|
||
|
journaled objects of that type and the current status for each object.</li>
|
||
|
</ul>
|
||
|
|
||
|
<div class="familylinks">
|
||
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzakiapyjrnchg.htm" title="One of the primary advantages of journaling is its ability to return a journaled object to its current state since the last save.">Recover journaled objects</a></div>
|
||
|
</div>
|
||
|
<div class="relconcepts"><strong>Related concepts</strong><br />
|
||
|
<div><a href="rzakijrncodes.htm" title="The following table shows the actions that are taken by the Apply Journaled Changes (APYJRNCHG), Apply Journaled Changes Extend (APYJRNCHGX), or Remove Journaled Changes (RMVJRNCHG) command by journal code and entry type.">Actions of applying or removing journaled changes by journal code</a></div>
|
||
|
<div><a href="rzakiqajrnchg.htm" title="Use the apply and remove journaled changes output (QAJRNCHG) file to make a record of all the activity that occurs when you perform an apply or remove journaled changes operation.">Use the apply and remove journaled changes output file</a></div>
|
||
|
</div>
|
||
|
<div class="relref"><strong>Related reference</strong><br />
|
||
|
<div><a href="../cl/apyjrnchg.htm">Apply Journaled Changes (APYJRNCHG) command</a></div>
|
||
|
<div><a href="../cl/apyjrnchgx.htm">Apply Journaled Changes Extend (APYJRNCHGX) command</a></div>
|
||
|
<div><a href="../cl/cpyf.htm">Copy File (CPYF) command</a></div>
|
||
|
<div><a href="../cl/inzpfm.htm">Initialize Physical File Member (INZPFM) command</a></div>
|
||
|
<div><a href="../cl/rgzpfm.htm">Reorganize Physical File Member (RGZPFM) command</a></div>
|
||
|
<div><a href="../cl/dspjrn.htm">Display Journal (DSPJRN) command</a></div>
|
||
|
<div><a href="../cl/rcvjrne.htm">Receive Journal Entry (RCVJRNE) command</a></div>
|
||
|
<div><a href="../cl/rtvjrne.htm">Retrieve Journal Entry (RTVJRNE) command</a></div>
|
||
|
<div><a href="../apis/QJORJRNE.htm">Retrieve Journal Entries (QjoRetrieveJournalEntries) API</a></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</body>
|
||
|
</html>
|