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

115 lines
7.2 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<?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="Commitment control with save-while-active" />
<meta name="DC.Relation" scheme="URI" content="rzaiurzaiu310.htm" />
<meta name="DC.Relation" scheme="URI" content="rzaiurzaiu327.htm" />
<meta name="DC.Relation" scheme="URI" content="rzaiurzaiu334.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="commitoverview" />
<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>Commitment control with save-while-active</title>
</head>
<body id="commitoverview"><a name="commitoverview"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Commitment control with save-while-active</h1>
<div><p>This information applies if you are using commitment control and save-while-active
to eliminate your save-outage time. This information applies only if you are
not specifiying *NOCMTBDY for handling pending record changes on the SAVACTWAIT
parameter.</p>
<p>If an object receives updates under commitment control during the checkpoint
processing phase of a save-while-active operation, the server saves the object
at a commitment boundary. The server saves all objects that reach a checkpoint
together at the same common commitment boundary. </p>
<p>During the save preprocessing phase of a save-while-active request, the
server ensures that it saves the objects commitment boundary as follows:</p>
<ul><li>If the job performing the save-while-active request is not currently at
a commitment boundary, the save request ends without saving any objects. This
processing is the same for any save request.</li>
<li>If updates are in progress for any objects in a group that are reaching
a checkpoint together, the server delays the checkpoint. The checkpoint resumes
when all of the transactions reach a commitment boundary. The server waits
the amount of time specified on the second element of SAVACTWAIT parameter
for these transactions to reach a commitment boundary. If uncommitted transactions
still exist when the specified time expires, the save request ends.</li>
<li>The server identifies which jobs have commitment definitions that are
not currently at a commitment boundary and are delaying the checkpoint processing.
The server waits until uncommitted transactions delay checkpoint processing
for a group of objects for approximately 30 seconds. The server then sends
a CPI8365 message to the QSYSOPR message queue for each job that is delaying
the save-while-active request. After you receive these messages, you can then
take the appropriate actions to bring all commitment definitions for those
jobs to a commitment boundary.</li>
<li>When no more commitment definitions are delaying the save-while-active
job, the save-while-active job completes the checkpoint processing for the
objects. After the checkpoint processing ends, the server allows changes for
those objects under commitment control.</li>
<li>If a commitment definition has uncommitted changes, it could possibly
delay a save-while-active request. The uncommitted changes could delay the
save-while-active request even though the changes are not for any database
files. This situation can occur if you are journaling any of the database
files to the same journal as the commitment definition is using for unrelated,
uncommitted changes and if you specify a value greater than 0 for the second
element of the SAVACTWAIT parameter.</li>
<li>If an application is performing a read-for-update operation but no changes
have been made, the application is considered to have started a commit cycle.
The server allows a checkpoint to be established in the middle of a commit
cycle as long as no changes have been made. Checkpoint processing does not
stop if the application is performing only a read-for-update operation.</li>
<li>The server temporarily delays a job that has all commitment definitions
at a commitment boundary when both of the following are true: <ul><li>When it is likely that an application will change an object that is under
commitment control</li>
<li>When that object is reaching a checkpoint</li>
</ul>
The server holds that job until the objects reach a checkpoint, or the
checkpoint processing for the object exceeds the time specified on the SAVACTWAIT
parameter. During the time the server delays a job at a commitment boundary,
the Work Active Job (WRKACTJOB) command displays <span class="uicontrol">CMTW</span> as
the job status.</li>
</ul>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzaiurzaiu310.htm">Save-while-active function</a></div>
</div>
<div class="relconcepts"><strong>Related concepts</strong><br />
<div><a href="rzaiurzaiu334.htm">Performance considerations for save-while-active</a></div>
</div>
<div class="reltasks"><strong>Related tasks</strong><br />
<div><a href="rzaiurzaiu327.htm">Checkpoint processing with save-while-active</a></div>
</div>
</div><div class="nested1" xml:lang="en-us" id="commitmentcontrolwithsave-while-activeandnocomtbdy"><a name="commitmentcontrolwithsave-while-activeandnocomtbdy"><!-- --></a><h2 class="topictitle2">Commitment control with save-while-active and *NOCOMTBDY</h2>
<div><p>This information applies if you are using commitment control and save-while-active
to eliminate your save-outage time. This information applies only if you specified
*NOCMTBDY for handling pending record changes on the SAVACTWAIT parameter.</p>
<ul><li>If the job performing the save-while-active request is not currently at
a commitment boundary, the save continues and objects are saved with partial
transactions.</li>
<li>If updates other than pending record changes are in progress for any objects
in a group that are reaching a checkpoint together, the server delays the
checkpoint. The checkpoint resumes when all of the transactions reach a commitment
boundary. The server waits the amount of time specified on the third element
of SAVACTWAIT parameter for these transactions to reach a commitment boundary.
If uncommitted transactions still exist when the specified time expires, the
save request ends.</li>
</ul>
</div>
</div>
</body>
</html>