ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzaiu_5.4.0.1/rzaiu_swa.htm

100 lines
5.7 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: Saving objects with partial transactions" />
<meta name="DC.Relation" scheme="URI" content="rzaiurzaiu348.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="rzaiu_swa" />
<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: Saving objects with partial transactions</title>
</head>
<body id="rzaiu_swa"><a name="rzaiu_swa"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Example: Saving objects with partial transactions</h1>
<div><div class="section"> <p>This example shows a typical use of the save-while-active function
to eliminate save-outage time by not waiting for commitment boundaries. Your
exact use of the function may differ, based on your specific application requirements.</p>
<p>This
example uses a checking and savings account. Both libraries contain journaled
objects and the journals for those objects. The changes may or may not be
made under commitment control.</p>
<p>This example demonstrates a save without
waiting for commitment boundaries and does not end the applications that are
making changes to the objects that are in these libraries. Not ending the
applications introduces additional restore considerations for the recovery
operation after you restore the objects from the media.</p>
<p> Use the following
steps to eliminate save-outage time without waiting for commitment boundaries:</p>
</div>
<ol><li class="stepexpand"><span></span> Submit the following command before the transaction
is ended: <pre>SAVLIB LIB(CHK SAV) DEV(TAP01) SAVACT(*SYNCLIB) +
SAVACTWAIT(30 *NOCMTBDY 30) +
SAVACTMSGQ(QSYSOPR) +
ACCPTH(*YES)</pre>
<div class="note"><span class="notetitle">Note:</span> You can also use the SAVOBJ or SAVCHGOBJ commands,
depending on your specific needs.</div>
<p>The server waits 30 seconds, as
specified by the SAVACTWAIT parameter to resolve each lock conflict during
checkpoint processing. The objects will not be saved if lock conflicts are
not resolved within the specified time.</p>
<p>By specifying ACCPTH(*YES),
you are also saving access paths for the logical files. Access paths, in most
cases, will not be built after restoring the files from this save media. </p>
<p>The
recovery procedures needed when restoring objects from this media are dependent
upon each of the database members in the CHK and SAV being updated with the
time stamp of this save operation.</p>
</li>
<li class="stepexpand"><span>When checkpoint processing is complete, QSYSOPR receives message
CPI3712 as specified by SAVACTMSGQ parameter. Until the QSYSOPR message queue
receives the CPI3712 message, <a href="rzaiurzaiu350.htm#rzaiu350">monitor
lock conflicts</a> that the save-while-active job may encounter.</span></li>
<li class="stepexpand"><span>Wait for the save job to complete.</span></li>
<li class="stepexpand"><span>After the batch job has completed, verify that all of the required
objects were saved. If any objects were saved in a partial state, the files
must be either rolled forward or backward to a consistent state before they
can be used.</span></li>
<li class="stepexpand"><span></span> Save the appropriate receivers of each journal being
used to journal the objects in libraries CHK and SAV. You must include the
receivers to be saved starting with the receiver containing the start of commit
entry for any transactions which were open when the save checkpoint processing
took place through the attached receiver. The save OUTFILE will indicate the
name of the earliest receiver for each object which will need to be available
to use the APYJRNCHG command during the recovery process. You must issue a
separate save request to save these receivers if these receivers do not exist
in library CHK or SAV <div class="note"><span class="notetitle">Note:</span> It is highly recommended that you save all of
the attached receivers with the following command.</div>
<div class="p">Multiple save
commands may be necessary for this step. Note that it is not necessary to
use the save-while-active function when saving journal receivers. The following
command defaults to SAVACT(*NO). <pre>SAVOBJ OBJ (attached-receiver)+
LIB (attached-receiver-library)+
OBJTYPE(*JRNRCV)+
DEV(TAP01)</pre>
</div>
</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>
</body>
</html>