115 lines
7.2 KiB
HTML
115 lines
7.2 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="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>
|