176 lines
14 KiB
HTML
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>
|