summaryrefslogtreecommitdiff
path: root/docs/programmer_reference/env.html
blob: 92b20e6c3c9246727bd285e291ffc3f270d605fc (plain)
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
<?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>Chapter 9.  The Berkeley DB Environment</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="index.html" title="Berkeley DB Programmer's Reference Guide" />
    <link rel="prev" href="arch_utilities.html" title="Supporting utilities" />
    <link rel="next" href="env_create.html" title="Creating a database environment" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 12.1.6.1</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Chapter 9.  The Berkeley DB Environment </th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="arch_utilities.html">Prev</a> </td>
          <th width="60%" align="center"> </th>
          <td width="20%" align="right"> <a accesskey="n" href="env_create.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="chapter" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title"><a id="env"></a>Chapter 9.  The Berkeley DB Environment </h2>
          </div>
        </div>
      </div>
      <div class="toc">
        <p>
          <b>Table of Contents</b>
        </p>
        <dl>
          <dt>
            <span class="sect1">
              <a href="env.html#env_intro">Database environment introduction</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="env_create.html">Creating a database
        environment</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="env_size.html">Sizing a database environment</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="env_open.html">Opening databases within the
        environment</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="env_error.html">Error support</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="env_db_config.html">DB_CONFIG configuration
        file</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="env_naming.html">File naming</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect2">
                  <a href="env_naming.html#idp1149160">Specifying file naming to Berkeley DB</a>
                </span>
              </dt>
              <dt>
                <span class="sect2">
                  <a href="env_naming.html#idp1160456">Filename resolution in Berkeley DB</a>
                </span>
              </dt>
              <dt>
                <span class="sect2">
                  <a href="env_naming.html#idp1182752">Examples</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="sect1">
              <a href="env_region.html">Shared memory regions</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="env_security.html">Security</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="env_encrypt.html">Encryption</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="env_remote.html">Remote filesystems</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="env_faq.html">Environment FAQ</a>
            </span>
          </dt>
        </dl>
      </div>
      <div class="sect1" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title" style="clear: both"><a id="env_intro"></a>Database environment introduction</h2>
            </div>
          </div>
        </div>
        <p>
        A Berkeley DB environment is an encapsulation of one or more
        databases, log files and region files. Region files are the
        shared memory areas that contain information about the
        database environment such as memory pool cache pages. Only
        databases are byte-order independent and only database files
        can be moved between machines of different byte orders. Log
        files can be moved between machines of the same byte order.
        Region files are usually unique to a specific machine and
        potentially to a specific operating system release.
    </p>
        <p>
        The simplest way to administer a Berkeley DB application
        environment is to create a single <span class="bold"><strong>home</strong></span>
        directory that stores the files for the
        applications that will share the environment. The environment
        home directory must be created before any Berkeley DB
        applications are run. Berkeley DB itself never creates the
        environment home directory. The environment can then be
        identified by the name of that directory.
    </p>
        <p>
        An environment may be shared by any number of processes, as
        well as by any number of threads within those processes. It is
        possible for an environment to include resources from other
        directories on the system, and applications often choose to
        distribute resources to other directories or disks for
        performance or other reasons. However, by default, the
        databases, shared regions (the locking, logging, memory pool,
        and transaction shared memory areas) and log files will be
        stored in a single directory hierarchy.
    </p>
        <p>
        It is important to realize that all applications sharing a
        database environment implicitly trust each other. They have
        access to each other's data as it resides in the shared
        regions, and they will share resources such as buffer space
        and locks. At the same time, any applications using the same
        databases <span class="bold"><strong>must</strong></span> share an
        environment if consistency is to be maintained between
        them.
    </p>
        <p>
        For more information on the operations supported by the
        database environment handle, see the <a href="../api_reference/C/env.html#envlist" class="olink">Database Environments and Related
        Methods</a> section in the
        <em class="citetitle">Berkeley DB C API Reference Guide.</em>
    </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="arch_utilities.html">Prev</a> </td>
          <td width="20%" align="center"> </td>
          <td width="40%" align="right"> <a accesskey="n" href="env_create.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Supporting utilities </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Creating a database
        environment</td>
        </tr>
      </table>
    </div>
  </body>
</html>