1<!--$Id: intro.so,v 10.32 2003/04/15 16:48:42 bostic Exp $-->
2<!--Copyright (c) 1997,2008 Oracle.  All rights reserved.-->
3<!--See the file LICENSE for redistribution information.-->
4<html>
5<head>
6<title>Berkeley DB Reference Guide: Database environment introduction</title>
7<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
8<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++">
9</head>
10<body bgcolor=white>
11<a name="2"><!--meow--></a>
12<table width="100%"><tr valign=top>
13<td><b><dl><dt>Berkeley DB Reference Guide:<dd>Environment</dl></b></td>
14<td align=right><a href="../arch/utilities.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../env/create.html"><img src="../../images/next.gif" alt="Next"></a>
15</td></tr></table>
16<p align=center><b>Database environment introduction</b></p>
17<p>A Berkeley DB environment is an encapsulation of one or more databases, log
18files and region files.  Region files are the shared memory areas that
19contain information about the database environment such as memory pool
20cache pages.  Only databases are byte-order independent and only
21database files can be moved between machines of different byte orders.
22Log files can be moved between machines of the same byte order.  Region
23files are usually unique to a specific machine and potentially to a
24specific operating system release.</p>
25<p>The simplest way to administer a Berkeley DB application environment is to
26create a single <b>home</b> directory that stores the files for the
27applications that will share the environment.  The environment home
28directory must be created before any Berkeley DB applications are run.  Berkeley DB
29itself never creates the environment home directory.  The environment can
30then be identified by the name of that directory.</p>
31<p>An environment may be shared by any number of processes, as well as by
32any number of threads within those processes.  It is possible for an
33environment to include resources from other directories on the system,
34and applications often choose to distribute resources to other
35directories or disks for performance or other reasons.  However, by
36default, the databases, shared regions (the locking, logging, memory
37pool, and transaction shared memory areas) and log files will be stored
38in a single directory hierarchy.</p>
39<p>It is important to realize that all applications sharing a database
40environment implicitly trust each other.  They have access to each
41other's data as it resides in the shared regions, and they will share
42resources such as buffer space and locks.  At the same time, any
43applications using the same databases <b>must</b> share an environment
44if consistency is to be maintained between them.</p>
45<!--$Id: m4.methods,v 10.18 2008/01/12 13:42:40 bostic Exp $-->
46<table border=1 align=center>
47<tr><th>Database Environment Operations</th><th>Description</th></tr>
48<!--DbEnv::--><tr><td><a href="../../api_c/env_class.html">db_env_create</a></td><td>Create an environment handle</td></tr>
49<!--Db::get_env--><tr><td><a href="../../api_c/db_getenv.html">DB-&gt;get_env</a></td><td>Return <a href="../../api_c/db_class.html">DB</a>'s underlying <a href="../../api_c/env_class.html">DB_ENV</a> handle</td></tr>
50<!--DbEnv::close--><tr><td><a href="../../api_c/env_close.html">DB_ENV-&gt;close</a></td><td>Close an environment</td></tr>
51<!--DbEnv::dbremove--><tr><td><a href="../../api_c/env_dbremove.html">DB_ENV-&gt;dbremove</a></td><td>Remove a database</td></tr>
52<!--DbEnv::dbrename--><tr><td><a href="../../api_c/env_dbrename.html">DB_ENV-&gt;dbrename</a></td><td>Rename a database</td></tr>
53<!--DbEnv::err--><tr><td><a href="../../api_c/env_err.html">DB_ENV-&gt;err</a>, <a href="../../api_c/env_err.html">DB_ENV-&gt;errx</a></td><td>Error message</td></tr>
54<!--DbEnv::failchk--><tr><td><a href="../../api_c/env_failchk.html">DB_ENV-&gt;failchk</a></td><td>Check for thread failure</td></tr>
55<!--DbEnv::fileid_reset--><tr><td><a href="../../api_c/env_fileid_reset.html">DB_ENV-&gt;fileid_reset</a></td><td>Reset database file IDs</td></tr>
56<!--DbEnv::get_home--><tr><td><a href="../../api_c/env_open.html">DB_ENV-&gt;get_home</a></td><td>Return environment's home directory</td></tr>
57<!--DbEnv::get_open_flags--><tr><td><a href="../../api_c/env_open.html">DB_ENV-&gt;get_open_flags</a></td><td>Return flags with which the environment was opened</td></tr>
58<!--DbEnv::lsn_reset--><tr><td><a href="../../api_c/env_lsn_reset.html">DB_ENV-&gt;lsn_reset</a></td><td>Reset database file LSNs</td></tr>
59<!--DbEnv::open--><tr><td><a href="../../api_c/env_open.html">DB_ENV-&gt;open</a></td><td>Open an environment</td></tr>
60<!--DbEnv::remove--><tr><td><a href="../../api_c/env_remove.html">DB_ENV-&gt;remove</a></td><td>Remove an environment</td></tr>
61<!--DbEnv::stat_print--><tr><td><a href="../../api_c/env_stat.html">DB_ENV-&gt;stat_print</a></td><td>Environment statistics</td></tr>
62<!--db_strerror--><tr><td><a href="../../api_c/env_strerror.html">db_strerror</a></td><td>Error strings</td></tr>
63<!--db_version--><tr><td><a href="../../api_c/env_version.html">db_version</a></td><td>Return version information</td></tr>
64<tr><th>Environment Configuration</th><th><br></th></tr>
65<!--DbEnv::set_alloc--><tr><td><a href="../../api_c/env_set_alloc.html">DB_ENV-&gt;set_alloc</a></td><td>Set local space allocation functions</td></tr>
66<!--DbEnv::set_app_dispatch--><tr><td><a href="../../api_c/env_set_app_dispatch.html">DB_ENV-&gt;set_app_dispatch</a></td><td>Configure application recovery</td></tr>
67<!--DbEnv::set_cachesize--><tr><td><a href="../../api_c/env_set_cachesize.html">DB_ENV-&gt;set_cachesize</a></td><td>Set the environment cache size</td></tr>
68<!--DbEnv::set_data_dir--><tr><td><a href="../../api_c/env_set_data_dir.html">DB_ENV-&gt;set_data_dir</a></td><td>Set the environment data directory</td></tr>
69<!--DbEnv::set_encrypt--><tr><td><a href="../../api_c/env_set_encrypt.html">DB_ENV-&gt;set_encrypt</a></td><td>Set the environment cryptographic key</td></tr>
70<!--DbEnv::set_errcall--><tr><td><a href="../../api_c/env_set_errcall.html">DB_ENV-&gt;set_errcall</a>, <a href="../../api_c/env_set_msgcall.html">DB_ENV-&gt;set_msgcall</a></td><td>Set error and informational message callbacks</td></tr>
71<!--DbEnv::set_errfile--><tr><td><a href="../../api_c/env_set_errfile.html">DB_ENV-&gt;set_errfile</a>, <a href="../../api_c/env_set_msgfile.html">DB_ENV-&gt;set_msgfile</a></td><td>Set error and informational message FILE</td></tr>
72<!--DbEnv::set_error_stream-->
73<!--DbEnv::set_errpfx--><tr><td><a href="../../api_c/env_set_errpfx.html">DB_ENV-&gt;set_errpfx</a></td><td>Set error message prefix</td></tr>
74<!--DbEnv::set_event_notify--><tr><td><a href="../../api_c/env_event_notify.html">DB_ENV-&gt;set_event_notify</a></td><td>Set event notification callback</td></tr>
75<!--DbEnv::set_feedback--><tr><td><a href="../../api_c/env_set_feedback.html">DB_ENV-&gt;set_feedback</a></td><td>Set feedback callback</td></tr>
76<!--DbEnv::set_flags--><tr><td><a href="../../api_c/env_set_flags.html">DB_ENV-&gt;set_flags</a></td><td>Environment configuration</td></tr>
77<!--DbEnv::set_isalive--><tr><td><a href="../../api_c/env_set_isalive.html">DB_ENV-&gt;set_isalive</a></td><td>Set thread is-alive callback</td></tr>
78<!--DbEnv::set_intermediate_dir_mode--><tr><td><a href="../../api_c/env_set_intermediate_dir_mode.html">DB_ENV-&gt;set_intermediate_dir_mode</a></td><td>Set intermediate directory creation mode</td></tr>
79<!--DbEnv::set_rpc_server--><tr><td><a href="../../api_c/env_set_rpc_server.html">DB_ENV-&gt;set_rpc_server</a></td><td>Establish an RPC server connection</td></tr>
80<!--DbEnv::set_shm_key--><tr><td><a href="../../api_c/env_set_shm_key.html">DB_ENV-&gt;set_shm_key</a></td><td>Set system memory shared segment ID</td></tr>
81<!--DbEnv::set_thread_id--><tr><td><a href="../../api_c/env_set_thread_id.html">DB_ENV-&gt;set_thread_id</a></td><td>Set thread of control ID function</td></tr>
82<!--DbEnv::set_thread_count--><tr><td><a href="../../api_c/env_set_thread_count.html">DB_ENV-&gt;set_thread_count</a></td><td>Set approximate thread count</td></tr>
83<!--DbEnv::set_thread_id_string--><tr><td><a href="../../api_c/env_set_thread_id_string.html">DB_ENV-&gt;set_thread_id_string</a></td><td>Set thread of control ID format function</td></tr>
84<!--DbEnv::set_timeout--><tr><td><a href="../../api_c/env_set_timeout.html">DB_ENV-&gt;set_timeout</a></td><td>Set lock and transaction timeout</td></tr>
85<!--DbEnv::set_tmp_dir--><tr><td><a href="../../api_c/env_set_tmp_dir.html">DB_ENV-&gt;set_tmp_dir</a></td><td>Set the environment temporary file directory</td></tr>
86<!--DbEnv::set_verbose--><tr><td><a href="../../api_c/env_set_verbose.html">DB_ENV-&gt;set_verbose</a></td><td>Set verbose messages</td></tr>
87</table>
88<table width="100%"><tr><td><br></td><td align=right><a href="../arch/utilities.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../env/create.html"><img src="../../images/next.gif" alt="Next"></a>
89</td></tr></table>
90<p><font size=1>Copyright (c) 1996,2008 Oracle.  All rights reserved.</font>
91</body>
92</html>
93