ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzakj_5.4.0.1/rzakjmiscconsid.htm

147 lines
9.5 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="Considerations and restrictions for commitment control" />
<meta name="abstract" content="The topic talks about miscellaneous considerations and restrictions for commitment control." />
<meta name="description" content="The topic talks about miscellaneous considerations and restrictions for commitment control." />
<meta name="DC.Relation" scheme="URI" content="rzakjconcepts.htm" />
<meta name="DC.Relation" scheme="URI" content="../cl/ovrdbf.htm" />
<meta name="DC.Relation" scheme="URI" content="../cl/apyjrnchg.htm" />
<meta name="DC.Relation" scheme="URI" content="../cl/rmvjrnchg.htm" />
<meta name="DC.Relation" scheme="URI" content="../sqlp/rbafykickoff.htm" />
<meta name="DC.Relation" scheme="URI" content="../cl/sbmrmtcmd.htm" />
<meta name="DC.Relation" scheme="URI" content="../cl/commit.htm" />
<meta name="DC.Relation" scheme="URI" content="../cl/rollback.htm" />
<meta name="DC.Relation" scheme="URI" content="../apis/QTNADDCR.htm" />
<meta name="DC.Relation" scheme="URI" content="../rzahc/ensuretwophase.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakjlocklevel.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="rzakjmiscconsid" />
<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>Considerations and restrictions for commitment control</title>
</head>
<body id="rzakjmiscconsid"><a name="rzakjmiscconsid"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Considerations and restrictions for commitment control</h1>
<div><p>The topic talks about miscellaneous considerations and restrictions
for commitment control.</p>
<div class="section"><h4 class="sectiontitle">Database file considerations</h4><ul><li>If you specify that a shared file be opened under commitment control,
all subsequent uses of that file must be opened under commitment control.</li>
<li>If SEQONLY(*YES) is specified for the file opened for read-only with LCKLVL(*ALL)
(either implicitly or by a high-level language program, or explicitly by the
Override with Database File (OVRDBF) command), then SEQONLY(*YES) is ignored
and SEQONLY(*NO) is used.</li>
<li>Record-level changes made under commitment control are recorded in a journal.
These changes can be applied to or removed from the database with the Apply
Journaled Changes (APYJRNCHG) command or the Remove Journaled Changes (RMVJRNCHG)
command.</li>
<li>Both before-images and after-images of the files are journaled under commitment
control. If you specify only to journal the after-images of the files, the
system also automatically journals the before-image of the file changes that
occurred under commitment control. However, because the before-images are
not captured for all changes made to the files, you cannot use the RMVJRNCHG
command for these files.</li>
</ul>
</div>
<div class="section"><h4 class="sectiontitle">Considerations for object and record-level changes</h4><ul><li>Object-level and record-level changes made under commitment control using
SQL will use the commitment definition that is currently active for the activation
group that the requesting program is running in. If neither the job-level
nor the activation-group-level commitment definition is active, SQL will start
an activation-group-level commitment definition. </li>
</ul>
</div>
<div class="section"><h4 class="sectiontitle">One-phase and two-phase commit considerations</h4><ul><li>While a one-phase remote conversation or connection is established, remote
conversations or connections to other locations are not allowed. If a commitment
boundary is established and all resources are removed, the location can be
changed.</li>
<li>If you are using two-phase commit, you do not need to use the Submit Remote
Command (SBMRMTCMD) command to start commitment control or perform any other
commitment control operations at the remote locations. The system performs
these functions for you.</li>
<li>For a one-phase remote location, the COMMIT and ROLLBACK CL commands will
fail if SQL is in the call stack and the remote relational database is not
on a system. If SQL is not on the call stack, the COMMIT and ROLLBACK commands
will not fail.</li>
<li>For a one-phase remote location, commitment control must be started on
the source system before making committable changes to remote resources. The
system automatically starts commitment control for distributed database SQL
on the source system at connection time if the SQL program is running with
the commitment control option other than *NONE. When the first remote resource
is placed under commitment control, the system starts commitment control on
the target system.</li>
</ul>
</div>
<div class="section"><h4 class="sectiontitle">Save consideration</h4><p>A save operation is prevented
if the job performing the save has one or more active commitment definitions
with any of the following types of committable changes:</p>
<ul><li>A record change to a file that resides in the library being saved. For
logical files, all the related physical files are checked.</li>
<li>Any object-level changes within a library that is being saved.</li>
<li>Any API resource that was added using the Add Commitment Resource (QTNADDCR)
API and with the Allow normal save processing field set to the default value
of N.</li>
</ul>
<p>This prevents the save operations from saving to the save media changes
that are due to a partial transaction.</p>
<div class="note"><span class="notetitle">Note:</span> If you use the new save with
partial transactions feature the object can be saved without ending a commitment
definition.<p>Object locks and record locks prevent pending changes from commitment
definitions in other jobs from being saved to the save media. This is true
only for API commitment resources if locks are acquired when changes are made
to the object or objects associated with the API commitment resource.</p>
</div>
</div>
<div class="section"><h4 class="sectiontitle">Miscellaneous considerations and restrictions</h4><ul><li>Before upgrading your system to a new release, all pending resynchronizations
must either be completed or canceled.</li>
<li>The COMMIT and ROLLBACK values are shown on the WRKACTJOB Function field
during a commit or rollback. If the Function remains COMMIT or ROLLBACK for
a long time, one of the following events might have occurred: <ul><li>A resource failure during the commit or rollback requires resynchronization.
Control will not return to the application until the resynchronization completes
or is canceled.</li>
<li>This system voted read-only during the commit. Control will not return
to the application until the system that initiated the commit sends data to
this system.</li>
<li>This system voted OK to leave out during the commit. Control will not
return to the application until the system that initiated the commit sends
data to this system.</li>
</ul>
</li>
</ul>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzakjconcepts.htm" title="This topic provides information to help you understand how commitment control works, how it interacts with your system, and how it interacts with other systems in your network.">Commitment control concepts</a></div>
</div>
<div class="relconcepts"><strong>Related concepts</strong><br />
<div><a href="../rzahc/ensuretwophase.htm">Ensure two-phase commit integrity</a></div>
<div><a href="rzakjlocklevel.htm" title="The value you specify for the LCKLVL parameter on the Start Commitment Control (STRCMTCTL) command becomes the default level of record locking for database files that are opened and placed under commitment control for the commitment definition.">Commit lock level</a></div>
</div>
<div class="relref"><strong>Related reference</strong><br />
<div><a href="../cl/ovrdbf.htm">Override with Database File (OVRDBF) command</a></div>
<div><a href="../cl/apyjrnchg.htm">Apply Journaled Changes (APYJRNCHG) command</a></div>
<div><a href="../cl/rmvjrnchg.htm">Remove Journaled Changes (RMVJRNCHG) command</a></div>
<div><a href="../sqlp/rbafykickoff.htm">SQL programming</a></div>
<div><a href="../cl/sbmrmtcmd.htm">Submit Remote Command (SBMRMTCMD) command</a></div>
<div><a href="../cl/commit.htm">COMMIT command</a></div>
<div><a href="../cl/rollback.htm">ROLLBACK command</a></div>
<div><a href="../apis/QTNADDCR.htm">Add Commitment Resource (QTNADDCR) API</a></div>
</div>
</div>
</body>
</html>