94 lines
6.5 KiB
HTML
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> |