ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzaki_5.4.0.1/rzakiapyjrnchg.htm

176 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="Recover journaled objects" />
<meta name="abstract" content="One of the primary advantages of journaling is its ability to return a journaled object to its current state since the last save." />
<meta name="description" content="One of the primary advantages of journaling is its ability to return a journaled object to its current state since the last save." />
<meta name="DC.Relation" scheme="URI" content="rzakijrnrecovery.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakiappyjrn.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakirmvjrnchg.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakiqajrnchg.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakiapywthtrig.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakiapywthref.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakijrncodes.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakiendappy.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakiapychgexmpl.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakirmvjrnchgexmpl.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakipartialtrans.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakiwhysavjrn.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakisavchgobj.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="rzakiapyjrnchg" />
<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>Recover journaled objects</title>
</head>
<body id="rzakiapyjrnchg"><a name="rzakiapyjrnchg"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Recover journaled objects</h1>
<div><p>One of the primary advantages of journaling is its ability to return
a journaled object to its current state since the last save.</p>
<p>You can recover from many types of damage to journaled objects by using
journaled changes. For example, an object is damaged and becomes unusable,
an error in an application program caused records to be improperly updated,
or incorrect data was used to update an object. In each of these instances,
only restoring a saved version of the object can result in the loss of a significant
amount of data.</p>
<p>If you use the <span class="cmdname">Apply Journaled Changes (APYJRNCHG)</span> or <span class="cmdname">Apply
Journaled Changes Extend (APYJRNCHGX)</span> command to apply journaled
changes, significantly less data may be lost. You can use the <span class="cmdname">Remove
Journaled Changes (RMVJRNCHG)</span> command to recover from improperly
updated records or incorrect data if before-images have been journaled. This
command removes (or backs out) changes that were made to an object. </p>
<p>Use the APYJRNCHG command to apply changes to these object types:</p>
<ul><li>Database file</li>
<li>Integrated file system object</li>
<li>Data area</li>
<li>Data queue</li>
</ul>
<p>Use the <span class="cmdname">APYJRNCHGX</span> command to apply changes to database
files.</p>
<p>Use the <span class="cmdname">RMVJRNCHG</span> command to remove changes that were
made to these object types:</p>
<ul><li>Database file</li>
<li>Data area</li>
</ul>
<p>To recover an object by applying or removing journaled changes, the object
must be currently journaled. The journal entries must have the same journal
identifier (JID) as the object. To ensure the journal identifiers are the
same, save the object immediately after journaling is started for the object. </p>
<p>To apply or remove journaled changes to or from a restored copy of the
object, you must have already saved the object while it was being journaled.
Why you must save objects after you start journaling has more information
about saving journaled objects and about JIDs.</p>
<p> If you need to recover objects that were journaled to a journal that you
deleted, restore the journal from a saved copy or create a new journal with
the same name in the same library. Then restore the object and all the needed
receivers before applying or removing journaled changes with that journal.
You can use an option on the Work with Journals display to reassociate any
journal receivers that are still on the system. To use the Work with Journals
display, use the <span class="cmdname">Work with Journals (WRKJRN)</span> command. </p>
<p>Some types of entries in the journal receiver cause the apply or remove
process to possibly stop. These entries are written by events that the system
cannot reconstruct. Certain illogical conditions, such as a duplicate key
in a database file defined as unique, can also cause processing to end.</p>
<p> Use the Object Error Option (OBJERROPT) of the APYJRNCHG, APYJRNCHGX,
or RMVJRNCHG commands to determine how the system responds to an error. If
you select OBJERROPT(*CONTINUE) and an error occurs, processing of journal
entries stops only for the object associated with that error. Processing continues
for the other objects. The system sends a diagnostic message indicating that
the processing of journaled changes for that object was not successful. The
system also places an indication that processing ended early for the specific
object in any output file record. If you select OBJERROPT(*END), processing
ends for all objects when an error occurs.</p>
<p>Using save-while-active to save your journaled objects can help you recover
your objects more quickly when you need to apply or remove journaled changes
specifying FROMENT(*LASTSAVE) or FROMENTLRG(*LASTSAVE). When you use the save-while-active
function to save your journaled objects, the system saves and then restores
information that indicates which starting journal sequence number is needed
for the apply or remove operation. When this information is available for
all objects to which you are applying or removing journaled changes, the system
does not need to scan the journal receivers to determine this starting point.
Scanning journal receiver data to find the starting points can be time consuming.</p>
<p>Also, using save-while-active when saving your objects allows you to restore
a version of your object which was not from the last save and to still specify
FROMENT(*LASTSAVE) or FROMENTLRG(*LASTSAVE) on the apply or remove command
and successfully apply or remove changes.</p>
<p>Actions of applying or removing journaled changes by journal code shows
how operations that apply and remove journaled changes handle journal entry
types. It shows which entry types cause processing to end for an object and
what processing is done when the entry is applied or removed.</p>
<p>You can use partial receivers to apply or remove changes from an object.
If you attempt to restore a saved receiver while a more current version of
the receiver is on the system, an escape message is sent to prevent you from
restoring the receiver. The system makes sure that the most complete version
is preserved.</p>
<p>You can use a partial receiver as the first receiver in the receiver chain
for a RMVJRNCHG command only if you specify a sequence number for the FROMENT
or FROMENTLRG parameter.</p>
<p><img src="./delta.gif" alt="Start of change" />SUBJECT TO ANY STATUTORY WARRANTIES WHICH CANNOT BE EXCLUDED,
IBM, ITS PROGRAM DEVELOPERS AND SUPPLIERS MAKE NO WARRANTIES OR CONDITIONS
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OR CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT,
REGARDING THE PROGRAM OR TECHNICAL SUPPORT, IF ANY. <img src="./deltaend.gif" alt="End of change" /></p>
<p><img src="./delta.gif" alt="Start of change" />UNDER NO CIRCUMSTANCES IS IBM, ITS PROGRAM DEVELOPERS OR SUPPLIERS
LIABLE FOR ANY OF THE FOLLOWING, EVEN IF INFORMED OF THEIR POSSIBILITY: <img src="./deltaend.gif" alt="End of change" /></p>
<img src="./delta.gif" alt="Start of change" /><ol><li>LOSS OF, OR DAMAGE TO, DATA;</li>
<li>DIRECT, SPECIAL, INCIDENTAL, OR INDIRECT DAMAGES, OR FOR ANY ECONOMIC
CONSEQUENTIAL DAMAGES; OR </li>
<li>LOST PROFITS, BUSINESS, REVENUE, GOODWILL, OR ANTICIPATED SAVINGS.</li>
</ol><img src="./deltaend.gif" alt="End of change" />
<p><img src="./delta.gif" alt="Start of change" />SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION
OF DIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, SO SOME OR ALL OF THE ABOVE
LIMITATIONS OR EXCLUSIONS MAY NOT APPLY TO YOU.<img src="./deltaend.gif" alt="End of change" /></p>
</div>
<div>
<ul class="ullinks">
<li class="ulchildlink"><strong><a href="rzakiappyjrn.htm">Apply journaled changes</a></strong><br />
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.</li>
<li class="ulchildlink"><strong><a href="rzakirmvjrnchg.htm">Remove journaled changes</a></strong><br />
Depending on the type of damage to the journaled object and the amount of activity since the object was last saved, removing changes from the object can be easier than applying changes to the object. Use the Remove Journaled Changes (RMVJRNCHG) command to remove changes from an object if you are journaling before-images.</li>
<li class="ulchildlink"><strong><a href="rzakiqajrnchg.htm">Use the apply and remove journaled changes output file</a></strong><br />
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.</li>
<li class="ulchildlink"><strong><a href="rzakiapywthtrig.htm">Journaled changes with trigger programs</a></strong><br />
The system does not call trigger programs when it is applying or removing journal entries.</li>
<li class="ulchildlink"><strong><a href="rzakiapywthref.htm">Journaled changes with referential constraints</a></strong><br />
When you apply or remove journaled changes, journal management does not support referential constraints.</li>
<li class="ulchildlink"><strong><a href="rzakijrncodes.htm">Actions of applying or removing journaled changes by journal code</a></strong><br />
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.</li>
<li class="ulchildlink"><strong><a href="rzakiendappy.htm">When the system ends applying or removing journaled changes</a></strong><br />
The system ends applying or removing journaled changes as a result from one of the following items:</li>
<li class="ulchildlink"><strong><a href="rzakiapychgexmpl.htm">Example: Apply journaled changes</a></strong><br />
The following are examples of the Apply Journaled Changes (APYJRNCHG) command applied to a database physical file, integrated file system object, data queues, and data area.</li>
<li class="ulchildlink"><strong><a href="rzakirmvjrnchgexmpl.htm">Example: Remove journaled changes</a></strong><br />
Even though the following examples show database physical files and data areas being processed separately, you can do them with one Remove Journaled Changes (RMVJRNCHG) command if you use the OBJ parameter for both object types.</li>
<li class="ulchildlink"><strong><a href="rzakipartialtrans.htm">Example: Recover objects with partial transactions</a></strong><br />
If you restore an object that was saved with a save-while-active operation that specified that the object can be saved before it reaches a commitment boundary, it can have partial transactions. To recover objects that are in a partial state you must perform an apply or a remove journaled changes operation.</li>
</ul>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzakijrnrecovery.htm" title="Provides tasks that show you how to use journaling to recover data on your iSeries server.">Recovery operations for journal management</a></div>
</div>
<div class="relconcepts"><strong>Related concepts</strong><br />
<div><a href="rzakiwhysavjrn.htm" title="After you start journaling, it is essential that you save objects that you are journaling.">Why you must save objects after you start journaling</a></div>
<div><a href="rzakisavchgobj.htm" title="One technique for saving journal receivers is to use the Save Changed Object (SAVCHGOBJ) command. When you use the SAVCHGOBJ command to save journal receivers, ensure that you omit the attached journal receiver.">Use SAVCHGOBJ to save journal receivers</a></div>
</div>
</div>
</body>
</html>