ibm-information-center/dist/eclipse/plugins/i5OS.ic.dbmult_5.4.0.1/odp.htm

87 lines
5.9 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="Reusable open data paths with DB2 Multisystem" />
<meta name="abstract" content="Reusable open data paths (ODPs) have special considerations for distributed queries. Like most other aspects of distributed queries, ODPs have two levels: distributed and local." />
<meta name="description" content="Reusable open data paths (ODPs) have special considerations for distributed queries. Like most other aspects of distributed queries, ODPs have two levels: distributed and local." />
<meta name="DC.subject" content="reusable open data path (ODP), ODP (open data path), reusable, open data path (ODP), figure, ODP (open data path), local, distributed" />
<meta name="keywords" content="reusable open data path (ODP), ODP (open data path), reusable, open data path (ODP), figure, ODP (open data path), local, distributed" />
<meta name="DC.Relation" scheme="URI" content="qqp.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="odp" />
<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>Reusable open data paths with DB2 Multisystem</title>
</head>
<body id="odp"><a name="odp"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Reusable open data paths with DB2<sup>®</sup> Multisystem</h1>
<div><p>Reusable open data paths (ODPs) have special considerations for
distributed queries. Like most other aspects of distributed queries, ODPs
have two levels: distributed and local.</p>
<p>The distributed ODP is the coordinating ODP. A distributed ODP associates
the query to the user and controls the local ODPs. Local ODPs are located
on each system involved in the query, and they take requests through the distributed
ODP.</p>
<div class="fignone" id="odp__odp1"><a name="odp__odp1"><!-- --></a><span class="figcap">Figure 1. Example of an ODP</span><br /><img src="rbal3507.gif" alt="Diagram of an Open Data Path (ODP). Your query is passed through the Distributed Coordinating ODP to be requested by the Local System ODP, System B ODP, and System C ODP." /><br /></div>
<p>For example, if a request is made to perform an SQL FETCH, the request
is made against the distributed ODP. The system then takes that request and
performs the appropriate record retrieval against the local ODPs.</p>
<div class="p">With distributed queries, it is possible for the distributed ODP to be
reusable, yet for one or more of the local ODPs to be nonreusable; however,
if the distributed query ODP is nonreusable, the local ODPs are always nonreusable.
This is allowed so that: <ul><li>Each local system can decide the best way to open its local ODP (reusable
versus nonreusable).</li>
<li>Regardless of the local ODP methods, the distributed ODP can be opened
as reusable as much as possible in order to maintain active resources, such
as communications.</li>
</ul>
The system tries to make the distributed ODP reusable whenever possible,
even when an underlying local ODP is not reusable. If this occurs, the system
handles the ODP refresh as follows: <ul><li>Cycles through each local ODP</li>
<li>Performs a refresh of a reusable local ODP</li>
<li>Performs a <span class="q">"hard"</span> close and reopen of a nonreusable ODP</li>
<li>Completes any remaining refresh of the distributed ODP itself that is
needed</li>
</ul>
</div>
<p>The distributed ODP is reusable more often than local ODPs,
because the distributed ODP is not affected by some of the things that make
local ODPs nonreusable, such as a host variable in a LIKE clause or the optimizer
choosing nonreusable so that an index-from-index create operation can be performed.
The cases that would make distributed ODPs nonreusable are a subset of those
that affect local ODPs. This subset includes the following items:</p>
<ul><li>The use of temporary files other than for sorting. These are called multistep
distributed queries, and the optimizer debug message CPI4343 is signalled
for these cases.</li>
<li>Library list changes, which can affect the files being queried.</li>
<li>OVRDBF changes, which affects the files being queried.</li>
<li>Value changes for special registers USER or CURRENT TIMEZONE.</li>
<li>Job CCSID changes.</li>
<li>The Reclaim Resources (RCLRSC) command being issued.</li>
</ul>
<p>The reusability of the local ODP is affected by the same conditions that
already exist for nondistributed query ODPs. Therefore, the same considerations
apply to them as apply to local query ODPs.</p>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="qqp.htm" title="This topic provides you with some guidelines for designing queries so that they use query resources more efficiently when you run queries that use distributed files.">Query design for performance with DB2 Multisystem</a></div>
</div>
</div>
</body>
</html>