File: xa_xa_restrict.html

package info (click to toggle)
db5.3 5.3.28%2Bdfsg1-0.5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 158,360 kB
  • sloc: ansic: 448,411; java: 111,824; tcl: 80,544; sh: 44,326; cs: 33,697; cpp: 21,604; perl: 14,557; xml: 10,799; makefile: 4,077; yacc: 1,003; awk: 965; sql: 801; erlang: 342; python: 216; php: 24; asm: 14
file content (144 lines) | stat: -rw-r--r-- 6,169 bytes parent folder | download | duplicates (8)
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>