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

94 lines
6.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="Roles in commit processing" />
<meta name="abstract" content="If a commit of a transaction involves more than one resource manager, each resource manager plays a role in the transaction. A resource manager is responsible for committing or rolling back changes made during the transaction." />
<meta name="description" content="If a commit of a transaction involves more than one resource manager, each resource manager plays a role in the transaction. A resource manager is responsible for committing or rolling back changes made during the transaction." />
<meta name="DC.Relation" scheme="URI" content="rzakjtwophase.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakjallowrdonly.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="rzakjroles" />
<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>Roles in commit processing</title>
</head>
<body id="rzakjroles"><a name="rzakjroles"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Roles in commit processing</h1>
<div><p>If a commit of a transaction involves more than one resource manager,
each resource manager plays a role in the transaction. A resource manager
is responsible for committing or rolling back changes made during the transaction. </p>
<p>The resource managers by resource type are:</p>
<dl><dt class="dlterm">FILE</dt>
<dd>Database manager</dd>
<dt class="dlterm">DDM</dt>
<dd>Database manager</dd>
<dt class="dlterm">DDL</dt>
<dd>Database manager</dd>
<dt class="dlterm">DRDA<sup>®</sup></dt>
<dd>Communications transaction program</dd>
<dt class="dlterm">LU62</dt>
<dd>Communications transaction program</dd>
<dt class="dlterm">API</dt>
<dd>API exit program</dd>
</dl>
<p>The following figures shows the basic roles in a transaction. The structure
shown in the figures is called a <dfn class="term">transaction program network</dfn>.
The structure can be in a single-level tree and a multilevel tree.</p>
<div class="section"><h4 class="sectiontitle">Roles in two-phase commit processing: Single-level tree</h4><p>When
an application on System A issues a commit request, the resource manager on
System A becomes the <dfn class="term">initiator</dfn>. For DRDA distributed unit of work over TCP/IP,
the initiator is called the <dfn class="term">coordinator</dfn>.</p>
<p>The resource managers
for the other three systems (B, C, and D) become <dfn class="term">agents</dfn> for this
transaction. For DRDA distributed unit of work over TCP/IP, agents are
sometimes called <dfn class="term">participants</dfn>.</p>
<br /><img src="rzakj504.gif" alt="This figure explains roles in two-phase commit processing. It shows a network of four servers in a single level tree. System A is the tree of the network, and Systems B, C, and D branch from it. The text following the image explains what each system is for." /><br /></div>
<div class="section"><h4 class="sectiontitle">Roles in two-phase commit processing: Multi-level tree</h4><p>If
the application is using APPC communications to perform the two-phase commit,
the relationship between systems can change from one transaction to the next.
The following figure shows the same systems when an application on System
B issues the commit request. This configuration is a multi-level tree.</p>
<p>The
roles in this figure do not apply to DRDA distributed unit of work over TCP/IP
because multi-level transactions trees are not supported.</p>
<br /><img src="rzakj505.gif" alt="This figure explains roles in two-phase commit processing. It shows a network of four servers in a multi-level tree. System B communicates directly to System A. The network from System A, then branches to System C and System D. The text following the image explains what each system is for." /><br /><p>The transaction program network
has another level because System B is not communicating directly with System
C and System D. The resource manager in System A now has the roles of agent
and cascaded initiator.</p>
<p>To improve performance of LU 6.2 two-phase transactions,
the initiator might assign the role of last agent to one of the agents. The
last agent does not participate in the prepare wave. In the committed wave,
the last agent commits first. If the last agent does not commit successfully,
the initiator instructs the other agents to roll back.</p>
<p>For DRDA distributed
unit of work over TCP/IP, the coordinator might assign the role of resync
server to a participant. The resync server is responsible to resynchronize
the other participants in the event in which there is a communications failure
with the coordinator, or the coordinator has a systems failure.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzakjtwophase.htm" title="Two-phase commitment control ensures that committable resources on multiple systems remain synchronized.">Two-phase commitment control</a></div>
</div>
<div class="relconcepts"><strong>Related concepts</strong><br />
<div><a href="rzakjallowrdonly.htm" title="Normally, a transaction manager participates in both phases of commit processing. To improve the performance of commit processing, you can set up some or all locations in a transaction to allow the transaction manager to vote read-only.">Commitment definition for two-phase commit: Allow vote read-only</a></div>
</div>
</div>
</body>
</html>