1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <title>Chapter��9.�� The Berkeley DB Environment</title> 7 <link rel="stylesheet" href="gettingStarted.css" type="text/css" /> 8 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> 9 <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" /> 10 <link rel="up" href="index.html" title="Berkeley DB Programmer's Reference Guide" /> 11 <link rel="prev" href="arch_utilities.html" title="Supporting utilities" /> 12 <link rel="next" href="env_create.html" title="Creating a database environment" /> 13 </head> 14 <body> 15 <div class="navheader"> 16 <table width="100%" summary="Navigation header"> 17 <tr> 18 <th colspan="3" align="center">Chapter��9.�� 19 The Berkeley DB Environment 20 </th> 21 </tr> 22 <tr> 23 <td width="20%" align="left"><a accesskey="p" href="arch_utilities.html">Prev</a>��</td> 24 <th width="60%" align="center">��</th> 25 <td width="20%" align="right">��<a accesskey="n" href="env_create.html">Next</a></td> 26 </tr> 27 </table> 28 <hr /> 29 </div> 30 <div class="chapter" lang="en" xml:lang="en"> 31 <div class="titlepage"> 32 <div> 33 <div> 34 <h2 class="title"><a id="env"></a>Chapter��9.�� 35 The Berkeley DB Environment 36 </h2> 37 </div> 38 </div> 39 </div> 40 <div class="toc"> 41 <p> 42 <b>Table of Contents</b> 43 </p> 44 <dl> 45 <dt> 46 <span class="sect1"> 47 <a href="env.html#env_intro">Database environment introduction</a> 48 </span> 49 </dt> 50 <dt> 51 <span class="sect1"> 52 <a href="env_create.html">Creating a database environment</a> 53 </span> 54 </dt> 55 <dt> 56 <span class="sect1"> 57 <a href="env_open.html">Opening databases within the environment</a> 58 </span> 59 </dt> 60 <dt> 61 <span class="sect1"> 62 <a href="env_error.html">Error support</a> 63 </span> 64 </dt> 65 <dt> 66 <span class="sect1"> 67 <a href="env_db_config.html">DB_CONFIG configuration file</a> 68 </span> 69 </dt> 70 <dt> 71 <span class="sect1"> 72 <a href="env_naming.html">File naming</a> 73 </span> 74 </dt> 75 <dd> 76 <dl> 77 <dt> 78 <span class="sect2"> 79 <a href="env_naming.html#id1605342">Specifying file naming to Berkeley DB</a> 80 </span> 81 </dt> 82 <dt> 83 <span class="sect2"> 84 <a href="env_naming.html#id1605560">Filename resolution in Berkeley DB</a> 85 </span> 86 </dt> 87 <dt> 88 <span class="sect2"> 89 <a href="env_naming.html#id1605734">Examples</a> 90 </span> 91 </dt> 92 </dl> 93 </dd> 94 <dt> 95 <span class="sect1"> 96 <a href="env_region.html">Shared memory regions</a> 97 </span> 98 </dt> 99 <dt> 100 <span class="sect1"> 101 <a href="env_security.html">Security</a> 102 </span> 103 </dt> 104 <dt> 105 <span class="sect1"> 106 <a href="env_encrypt.html">Encryption</a> 107 </span> 108 </dt> 109 <dt> 110 <span class="sect1"> 111 <a href="env_remote.html">Remote filesystems</a> 112 </span> 113 </dt> 114 <dt> 115 <span class="sect1"> 116 <a href="env_faq.html">Environment FAQ</a> 117 </span> 118 </dt> 119 </dl> 120 </div> 121 <div class="sect1" lang="en" xml:lang="en"> 122 <div class="titlepage"> 123 <div> 124 <div> 125 <h2 class="title" style="clear: both"><a id="env_intro"></a>Database environment introduction</h2> 126 </div> 127 </div> 128 </div> 129 <p>A Berkeley DB environment is an encapsulation of one or more databases, log 130files and region files. Region files are the shared memory areas that 131contain information about the database environment such as memory pool 132cache pages. Only databases are byte-order independent and only 133database files can be moved between machines of different byte orders. 134Log files can be moved between machines of the same byte order. Region 135files are usually unique to a specific machine and potentially to a 136specific operating system release.</p> 137 <p>The simplest way to administer a Berkeley DB application environment is to 138create a single <span class="bold"><strong>home</strong></span> directory that stores the files for the 139applications that will share the environment. The environment home 140directory must be created before any Berkeley DB applications are run. Berkeley DB 141itself never creates the environment home directory. The environment can 142then be identified by the name of that directory.</p> 143 <p>An environment may be shared by any number of processes, as well as by 144any number of threads within those processes. It is possible for an 145environment to include resources from other directories on the system, 146and applications often choose to distribute resources to other 147directories or disks for performance or other reasons. However, by 148default, the databases, shared regions (the locking, logging, memory 149pool, and transaction shared memory areas) and log files will be stored 150in a single directory hierarchy.</p> 151 <p>It is important to realize that all applications sharing a database 152environment implicitly trust each other. They have access to each 153other's data as it resides in the shared regions, and they will share 154resources such as buffer space and locks. At the same time, any 155applications using the same databases <span class="bold"><strong>must</strong></span> share an environment 156if consistency is to be maintained between them.</p> 157 <div class="informaltable"> 158 <table border="1" width="80%"> 159 <colgroup> 160 <col /> 161 <col /> 162 </colgroup> 163 <thead> 164 <tr> 165 <th>Database Environment Operations</th> 166 <th>Description</th> 167 </tr> 168 </thead> 169 <tbody> 170 <tr> 171 <td> 172 <a href="../api_reference/C/envcreate.html" class="olink">db_env_create()</a> 173 </td> 174 <td>Create an environment handle</td> 175 </tr> 176 <tr> 177 <td><a href="../api_reference/C/dbgetenv.html" class="olink">DB->getenv()</a> handle</td> 178 <td>Return <a href="../api_reference/C/db.html" class="olink">DB</a>'s underlying <a href="../api_reference/C/env.html" class="olink">DB_ENV</a> handle</td> 179 </tr> 180 <tr> 181 <td> 182 <a href="../api_reference/C/envclose.html" class="olink">DB_ENV->close()</a> 183 </td> 184 <td>Close an environment</td> 185 </tr> 186 <tr> 187 <td> 188 <a href="../api_reference/C/envdbremove.html" class="olink">DB_ENV->dbremove()</a> 189 </td> 190 <td>Remove a database</td> 191 </tr> 192 <tr> 193 <td> 194 <a href="../api_reference/C/envdbrename.html" class="olink">DB_ENV->dbrename()</a> 195 </td> 196 <td>Rename a database</td> 197 </tr> 198 <tr> 199 <td> 200 <a href="../api_reference/C/enverr.html" class="olink">DB_ENV->err()</a> 201 </td> 202 <td>Error message</td> 203 </tr> 204 <tr> 205 <td> 206 <a href="../api_reference/C/envfailchk.html" class="olink">DB_ENV->failchk()</a> 207 </td> 208 <td>Check for thread failure</td> 209 </tr> 210 <tr> 211 <td> 212 <a href="../api_reference/C/envfileid_reset.html" class="olink">DB_ENV->fileid_reset()</a> 213 </td> 214 <td>Reset database file IDs</td> 215 </tr> 216 <tr> 217 <td> 218 <a href="../api_reference/C/envopen.html" class="olink">DB_ENV->open()</a> 219 </td> 220 <td>Return environment's home directory</td> 221 </tr> 222 <tr> 223 <td> 224 <a href="../api_reference/C/envopen.html" class="olink">DB_ENV->open()</a> 225 </td> 226 <td>Return flags with which the environment was opened</td> 227 </tr> 228 <tr> 229 <td> 230 <a href="../api_reference/C/envlsn_reset.html" class="olink">DB_ENV->lsn_reset()</a> 231 </td> 232 <td>Reset database file LSNs</td> 233 </tr> 234 <tr> 235 <td> 236 <a href="../api_reference/C/envopen.html" class="olink">DB_ENV->open()</a> 237 </td> 238 <td>Open an environment</td> 239 </tr> 240 <tr> 241 <td> 242 <a href="../api_reference/C/envremove.html" class="olink">DB_ENV->remove()</a> 243 </td> 244 <td>Remove an environment</td> 245 </tr> 246 <tr> 247 <td> 248 <a href="../api_reference/C/envstat.html" class="olink">DB_ENV->stat()</a> 249 </td> 250 <td>Environment statistics</td> 251 </tr> 252 <tr> 253 <td> 254 <a href="../api_reference/C/envstrerror.html" class="olink">db_strerror()</a> 255 </td> 256 <td>Error strings</td> 257 </tr> 258 <tr> 259 <td> 260 <a href="../api_reference/C/envversion.html" class="olink">DB_ENV->version()</a> 261 </td> 262 <td>Return version information</td> 263 </tr> 264 <tr> 265 <td> 266 <span class="emphasis"> 267 <em>Environment Configuration</em> 268 </span> 269 </td> 270 <td>��</td> 271 </tr> 272 <tr> 273 <td> 274 <a href="../api_reference/C/envset_alloc.html" class="olink">DB_ENV->set_alloc()</a> 275 </td> 276 <td>Set local space allocation functions</td> 277 </tr> 278 <tr> 279 <td> 280 <a href="../api_reference/C/envset_app_dispatch.html" class="olink">DB_ENV->set_app_dispatch()</a> 281 </td> 282 <td>Configure application recovery</td> 283 </tr> 284 <tr> 285 <td> 286 <a href="../api_reference/C/envset_cachesize.html" class="olink">DB_ENV->set_cachesize()</a> 287 </td> 288 <td>Set the environment cache size</td> 289 </tr> 290 <tr> 291 <td> 292 <a href="../api_reference/C/envset_data_dir.html" class="olink">DB_ENV->set_data_dir()</a> 293 </td> 294 <td>Set the environment data directory</td> 295 </tr> 296 <tr> 297 <td> 298 <a href="../api_reference/C/envset_encrypt.html" class="olink">DB_ENV->set_encrypt()</a> 299 </td> 300 <td>Set the environment cryptographic key</td> 301 </tr> 302 <tr> 303 <td> 304 <a href="../api_reference/C/envset_errcall.html" class="olink">DB_ENV->set_errcall()</a> 305 </td> 306 <td>Set error and informational message callbacks</td> 307 </tr> 308 <tr> 309 <td> 310 <a href="../api_reference/C/envset_errfile.html" class="olink">DB_ENV->set_errfile()</a> 311 </td> 312 <td>Set error and informational message FILE</td> 313 </tr> 314 <tr> 315 <td> 316 <a href="../api_reference/C/envset_errpfx.html" class="olink">DB_ENV->set_errpfx()</a> 317 </td> 318 <td>Set error message prefix</td> 319 </tr> 320 <tr> 321 <td> 322 <a href="../api_reference/C/envevent_notify.html" class="olink">DB_ENV->set_event_notify()</a> 323 </td> 324 <td>Set event notification callback</td> 325 </tr> 326 <tr> 327 <td> 328 <a href="../api_reference/C/envset_feedback.html" class="olink">DB_ENV->set_feedback()</a> 329 </td> 330 <td>Set feedback callback</td> 331 </tr> 332 <tr> 333 <td> 334 <a href="../api_reference/C/envset_flags.html" class="olink">DB_ENV->set_flags()</a> 335 </td> 336 <td>Environment configuration</td> 337 </tr> 338 <tr> 339 <td> 340 <a href="../api_reference/C/envset_isalive.html" class="olink">DB_ENV->set_isalive()</a> 341 </td> 342 <td>Set thread is-alive callback</td> 343 </tr> 344 <tr> 345 <td> 346 <a href="../api_reference/C/envset_intermediate_dir_mode.html" class="olink">DB_ENV->set_intermediate_dir_mode()</a> 347 </td> 348 <td>Set intermediate directory creation mode</td> 349 </tr> 350 <tr> 351 <td> 352 <a href="../api_reference/C/envset_shm_key.html" class="olink">DB_ENV->set_shm_key()</a> 353 </td> 354 <td>Set system memory shared segment ID</td> 355 </tr> 356 <tr> 357 <td> 358 <a href="../api_reference/C/envset_thread_id.html" class="olink">DB_ENV->set_thread_id()</a> 359 </td> 360 <td>Set thread of control ID function</td> 361 </tr> 362 <tr> 363 <td> 364 <a href="../api_reference/C/envset_thread_count.html" class="olink">DB_ENV->set_thread_count()</a> 365 </td> 366 <td>Set approximate thread count</td> 367 </tr> 368 <tr> 369 <td> 370 <a href="../api_reference/C/envset_thread_id_string.html" class="olink">DB_ENV->set_thread_id_string()</a> 371 </td> 372 <td>Set thread of control ID format function</td> 373 </tr> 374 <tr> 375 <td> 376 <a href="../api_reference/C/envset_timeout.html" class="olink">DB_ENV->set_timeout()</a> 377 </td> 378 <td>Set lock and transaction timeout</td> 379 </tr> 380 <tr> 381 <td> 382 <a href="../api_reference/C/envset_tmp_dir.html" class="olink">DB_ENV->set_tmp_dir()</a> 383 </td> 384 <td>Set the environment temporary file directory</td> 385 </tr> 386 <tr> 387 <td> 388 <a href="../api_reference/C/envset_verbose.html" class="olink">DB_ENV->set_verbose()</a> 389 </td> 390 <td>Set verbose messages</td> 391 </tr> 392 </tbody> 393 </table> 394 </div> 395 </div> 396 </div> 397 <div class="navfooter"> 398 <hr /> 399 <table width="100%" summary="Navigation footer"> 400 <tr> 401 <td width="40%" align="left"><a accesskey="p" href="arch_utilities.html">Prev</a>��</td> 402 <td width="20%" align="center">��</td> 403 <td width="40%" align="right">��<a accesskey="n" href="env_create.html">Next</a></td> 404 </tr> 405 <tr> 406 <td width="40%" align="left" valign="top">Supporting utilities��</td> 407 <td width="20%" align="center"> 408 <a accesskey="h" href="index.html">Home</a> 409 </td> 410 <td width="40%" align="right" valign="top">��Creating a database environment</td> 411 </tr> 412 </table> 413 </div> 414 </body> 415</html> 416