1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Restrictions on XA Transactions</title>
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
<link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
<link rel="up" href="xa.html" title="Chapter 13. Distributed Transactions" />
<link rel="prev" href="xa_xa_config.html" title="Configuring Berkeley DB with the Tuxedo System" />
<link rel="next" href="xa_faq.html" title="XA: Frequently Asked Questions" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
<p>Library Version 11.2.5.3</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">Restrictions on XA Transactions</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="xa_xa_config.html">Prev</a> </td>
<th width="60%" align="center">Chapter 13.
Distributed Transactions
</th>
<td width="20%" align="right"> <a accesskey="n" href="xa_faq.html">Next</a></td>
</tr>
</table>
<hr />
</div>
<div class="sect1" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="xa_xa_restrict"></a>Restrictions on XA Transactions</h2>
</div>
</div>
</div>
<p>
When you are using Berkeley DB for XA transactions, there are a few
restrictions you should be aware of:
</p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>
Configure environment using the <a href="../api_reference/C/configuration_reference.html" class="olink">DB_CONFIG</a> file
</p>
<p>
For most options, you must configure your environment via
the <a href="../api_reference/C/configuration_reference.html" class="olink">DB_CONFIG</a> file because an XA application or server cannot
control the environment creation.
</p>
</li>
<li>
<p>
Snapshot isolation must be configured for the entire
environment.
</p>
<p>
Transactions managed by the Berkeley DB X/open compliant XA
resource manager can be configured for transaction
snapshots using either database open flags or the <a href="../api_reference/C/configuration_reference.html" class="olink">DB_CONFIG</a> file
file. To configure using database open flags, open the XA
managed database with the flag <a href="../api_reference/C/dbopen.html#dbopen_DB_MULTIVERSION" class="olink">DB_MULTIVERSION</a>. When using
DB_CONFIG, include both of the following lines:
</p>
<pre class="programlisting">set_flags DB_MULTIVERSION
set_flags DB_TXN_SNAPSHOT</pre>
<p>
Note that both methods will results in all transactions
using transaction snapshots, there is no way to enable
transaction snapshots in just a subset of XA managed
transactions.
</p>
</li>
<li>
<p>No in-memory logging</p>
<p>
Upon return from xa_open, Berkeley DB checks to ensure
there is no in-memory logging. If in-memory logging is
detected, a FAILURE message is returned to the application.
</p>
</li>
<li>
<p>
No application-level child transactions
</p>
<p>
Berkeley DB verifies in the xa_start and xa_end calls that no
XA transaction has a parent. If application-level child
transactions are detected, a FAILURE message is returned to the
application.
</p>
</li>
<li>
<p>
All database-level operations, such as create, rename, and
remove, must be performed in local BDB transactions, not
distributed XA transactions
</p>
<p>
Berkeley DB checks that there is no XA transaction
currently active during these operations, and if detected,
a FAILURE message is returned to the application.
</p>
</li>
<li>
<p>
Close cursors before a service invocation returns
</p>
<p>
Berkeley DB checks in the <code class="literal">xa_end</code> call
that the <code class="literal">DB_TXN</code> has no active cursors
open and and if detected, a FAILURE message is returned to
the application.
</p>
</li>
</ul>
</div>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="xa_xa_config.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="xa.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="xa_faq.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Configuring Berkeley DB with the Tuxedo System </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> XA: Frequently Asked Questions</td>
</tr>
</table>
</div>
</body>
</html>
|