mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-16 17:16:25 +00:00
696 lines
34 KiB
HTML
696 lines
34 KiB
HTML
<?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>DB_ENV->open()</title>
|
||
<link rel="stylesheet" href="apiReference.css" type="text/css" />
|
||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
|
||
<link rel="start" href="index.html" title="Berkeley DB C API Reference" />
|
||
<link rel="up" href="env.html" title="Chapter 5. The DB_ENV Handle" />
|
||
<link rel="prev" href="envlsn_reset.html" title="DB_ENV->lsn_reset()" />
|
||
<link rel="next" href="envremove.html" title="DB_ENV->remove()" />
|
||
</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">DB_ENV->open()</th>
|
||
</tr>
|
||
<tr>
|
||
<td width="20%" align="left"><a accesskey="p" href="envlsn_reset.html">Prev</a> </td>
|
||
<th width="60%" align="center">Chapter 5.
|
||
The DB_ENV Handle
|
||
</th>
|
||
<td width="20%" align="right"> <a accesskey="n" href="envremove.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="envopen"></a>DB_ENV->open()</h2>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<pre class="programlisting">#include <db.h>
|
||
|
||
int
|
||
DB_ENV->open(DB_ENV *dbenv, char *db_home, u_int32_t flags, int mode); </pre>
|
||
<p>
|
||
The <code class="methodname">DB_ENV->open()</code> method opens a Berkeley
|
||
DB environment. It provides a structure for creating a consistent
|
||
environment for processes using one or more of the features of
|
||
Berkeley DB.
|
||
</p>
|
||
<p>
|
||
The <code class="methodname">DB_ENV->open()</code> method <span>
|
||
<span>
|
||
method returns a non-zero error value on failure and 0 on success.
|
||
</span>
|
||
|
||
</span> If
|
||
<code class="methodname">DB_ENV->open()</code> fails, the
|
||
<a class="xref" href="envclose.html" title="DB_ENV->close()">DB_ENV->close()</a> method must be
|
||
called to discard the <a class="link" href="env.html" title="Chapter 5. The DB_ENV Handle">DB_ENV</a>
|
||
handle.
|
||
</p>
|
||
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
|
||
<h3 class="title">Warning</h3>
|
||
<p>
|
||
Using environments with some journaling filesystems might
|
||
result in log file corruption. This can occur if the operating
|
||
system experiences an unclean shutdown when a log file is being
|
||
created. Please see
|
||
<a href="../../programmer_reference/transapp_journal.html" class="olink">Using
|
||
Recovery on Journaling Filesystems</a>
|
||
in the <em class="citetitle">Berkeley DB Programmer's Reference Guide</em> for more information.
|
||
</p>
|
||
</div>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="idp59652824"></a>Parameters</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="idp59651280"></a>db_home</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The <span class="bold"><strong>db_home</strong></span>
|
||
parameter is the database environment's home
|
||
directory. For more information on
|
||
<span class="bold"><strong>db_home</strong></span>, and filename
|
||
resolution in general, see <a href="../../programmer_reference/env_naming.html" class="olink">Berkeley DB File Naming</a>. The
|
||
environment variable
|
||
<span class="bold"><strong>DB_HOME</strong></span> may be used as the
|
||
path of the database home, as described in
|
||
<a href="../../programmer_reference/env_naming.html" class="olink">Berkeley DB File Naming</a>.
|
||
</p>
|
||
<p>
|
||
When using a Unicode build on Windows (the default), the
|
||
<span class="bold"><strong>db_home</strong></span> argument
|
||
will be interpreted as a UTF-8 string, which is equivalent to ASCII for
|
||
Latin characters.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="idp59658896"></a>flags</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The <span class="bold"><strong>flags</strong></span> parameter specifies
|
||
the subsystems that are initialized and how the application's
|
||
environment affects Berkeley DB file naming, among other things.
|
||
The <span class="bold"><strong>flags</strong></span> parameter must be set
|
||
to 0 or by bitwise inclusively
|
||
<span class="bold"><strong>OR</strong></span>'ing together one or more of the
|
||
values described in this section.
|
||
</p>
|
||
<p>
|
||
Because there are a large number of flags that can be specified,
|
||
they have been grouped together by functionality. The first
|
||
group of flags indicates which of the Berkeley DB subsystems
|
||
should be initialized.
|
||
</p>
|
||
<p>
|
||
The choice of subsystems initialized for a Berkeley DB database
|
||
environment is specified by the thread of control initially
|
||
creating the environment. Any subsequent thread of control
|
||
joining the environment will automatically be configured to use
|
||
the same subsystems as were created in the environment (unless
|
||
the thread of control requests a subsystem not available in the
|
||
environment, which will fail). Applications joining an
|
||
environment, able to adapt to whatever subsystems have been
|
||
configured in the environment, should open the environment
|
||
without specifying any subsystem flags. Applications joining an
|
||
environment, requiring specific subsystems from their
|
||
environments, should open the environment specifying those
|
||
specific subsystem flags.
|
||
</p>
|
||
<div class="itemizedlist">
|
||
<ul type="disc">
|
||
<li>
|
||
<p><a id="envopen_DB_INIT_CDB"></a>
|
||
<code class="literal">DB_INIT_CDB</code>
|
||
</p>
|
||
<p>
|
||
Initialize locking for the
|
||
<a href="../../programmer_reference/cam.html#cam_intro" class="olink">Berkeley DB Concurrent Data Store</a>
|
||
product. In this mode, Berkeley DB provides multiple
|
||
reader/single writer access. The only other subsystem
|
||
that should be specified with the <code class="literal">DB_INIT_CDB</code>
|
||
flag is <code class="literal">DB_INIT_MPOOL</code>.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_INIT_LOCK"></a>
|
||
<code class="literal">DB_INIT_LOCK</code>
|
||
</p>
|
||
<p>
|
||
Initialize the locking subsystem. This subsystem should
|
||
be used when multiple processes or threads are going to
|
||
be reading and writing a Berkeley DB database, so that
|
||
they do not interfere with each other. If all threads
|
||
are accessing the database(s) read-only, locking is
|
||
unnecessary. When the DB_INIT_LOCK flag is specified, it
|
||
is usually necessary to run a deadlock detector, as
|
||
well. See <a class="link" href="db_deadlock.html" title="db_deadlock">db_deadlock</a>
|
||
and <a class="xref" href="lockdetect.html" title="DB_ENV->lock_detect()">DB_ENV->lock_detect()</a>
|
||
for more information.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_INIT_LOG"></a>
|
||
<code class="literal">DB_INIT_LOG</code>
|
||
</p>
|
||
<p>
|
||
Initialize the logging subsystem. This subsystem should
|
||
be used when recovery from application or system failure
|
||
is necessary. If the log region is being created and log
|
||
files are already present, the log files are reviewed;
|
||
subsequent log writes are appended to the end of the
|
||
log, rather than overwriting current log entries.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_INIT_MPOOL"></a>
|
||
<code class="literal">DB_INIT_MPOOL</code>
|
||
</p>
|
||
<p>
|
||
Initialize the shared memory buffer pool subsystem.
|
||
This subsystem should be used whenever an application is
|
||
using any Berkeley DB access method.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_INIT_REP"></a>
|
||
<code class="literal">DB_INIT_REP</code>
|
||
</p>
|
||
<p>
|
||
Initialize the replication subsystem. This subsystem
|
||
should be used whenever an application plans on using
|
||
replication. The <code class="literal">DB_INIT_REP</code> flag
|
||
requires the <code class="literal">DB_INIT_TXN</code> and
|
||
<code class="literal">DB_INIT_LOCK</code> flags also be
|
||
configured.
|
||
</p>
|
||
<p>
|
||
You can also specify this flag in the <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a>
|
||
configuration file. The syntax is a single line
|
||
with the string "set_open_flags", one or more
|
||
whitespace characters, the string "DB_INIT_REP",
|
||
optionally one or more whitespace characters and
|
||
the string "on" or "off". If the optional string
|
||
is omitted, the default is "on"; for example,
|
||
"set_open_flags DB_INIT_REP" or "set_open_flags
|
||
DB_INIT_REP on". Because the DB_CONFIG file is
|
||
read when the database environment is opened, it
|
||
will silently overrule configuration done before
|
||
that time.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_INIT_TXN"></a>
|
||
<code class="literal">DB_INIT_TXN</code>
|
||
</p>
|
||
<p>
|
||
Initialize the transaction subsystem. This subsystem
|
||
should be used when recovery and atomicity of multiple
|
||
operations are important. The
|
||
<code class="literal">DB_INIT_TXN</code> flag implies the
|
||
<code class="literal">DB_INIT_LOG</code> flag.
|
||
</p>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<p>
|
||
The second group of flags govern what recovery, if any, is
|
||
performed when the environment is initialized:
|
||
</p>
|
||
<div class="itemizedlist">
|
||
<ul type="disc">
|
||
<li>
|
||
<p><a id="envopen_DB_RECOVER"></a>
|
||
<code class="literal">DB_RECOVER</code>
|
||
</p>
|
||
<p>
|
||
Run normal recovery on this environment before opening
|
||
it for normal use. If this flag is set, the
|
||
<code class="literal">DB_CREATE</code> and
|
||
<code class="literal">DB_INIT_TXN</code> flags must also be set,
|
||
because the regions will be removed and re-created, and
|
||
transactions are required for application recovery.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_RECOVER_FATAL"></a>
|
||
<code class="literal">DB_RECOVER_FATAL</code>
|
||
</p>
|
||
<p>
|
||
Run catastrophic recovery on this environment before
|
||
opening it for normal use. If this flag is set, the
|
||
<code class="literal">DB_CREATE</code> and
|
||
<code class="literal">DB_INIT_TXN</code> flags must also be set,
|
||
because the regions will be removed and re-created, and
|
||
transactions are required for application recovery.
|
||
</p>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<p>
|
||
A standard part of the recovery process is to remove the
|
||
existing Berkeley DB environment and create a new one in which
|
||
to perform recovery. If the thread of control performing
|
||
recovery does not specify the correct region initialization
|
||
information (for example, the correct memory pool cache size),
|
||
the result can be an application running in an environment with
|
||
incorrect cache and other subsystem sizes. For this reason, the
|
||
thread of control performing recovery should specify correct
|
||
configuration information before calling the
|
||
<code class="methodname">DB_ENV->open()</code> method; or it should
|
||
remove the environment after recovery is completed, leaving
|
||
creation of the correctly sized environment to a subsequent call
|
||
to the <code class="methodname">DB_ENV->open()</code> method.
|
||
</p>
|
||
<p>
|
||
All Berkeley DB recovery processing must be single-threaded;
|
||
that is, only a single thread of control may perform recovery or
|
||
access a Berkeley DB environment while recovery is being
|
||
performed. Because it is not an error to specify
|
||
<code class="literal">DB_RECOVER</code> for an environment for which no
|
||
recovery is required, it is reasonable programming practice for
|
||
the thread of control responsible for performing recovery and
|
||
creating the environment to always specify the
|
||
<code class="literal">DB_CREATE</code> and <code class="literal">DB_RECOVER</code>
|
||
flags during startup.
|
||
</p>
|
||
<p>
|
||
The third group of flags govern file-naming extensions in the
|
||
environment:
|
||
</p>
|
||
<div class="itemizedlist">
|
||
<ul type="disc">
|
||
<li>
|
||
<p><a id="envopen_DB_USE_ENVIRON"></a>
|
||
<code class="literal">DB_USE_ENVIRON</code>
|
||
</p>
|
||
<p>
|
||
The Berkeley DB process' environment may be permitted to
|
||
specify information to be used when naming files; see
|
||
<a href="../../programmer_reference/env_naming.html" class="olink">Berkeley DB File Naming</a>.
|
||
Because permitting users to specify which files are used
|
||
can create security problems, environment information
|
||
will be used in file naming for all users only if the
|
||
<code class="literal">DB_USE_ENVIRON</code> flag is set.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_USE_ENVIRON_ROOT"></a>
|
||
<code class="literal">DB_USE_ENVIRON_ROOT</code>
|
||
</p>
|
||
<p>
|
||
The Berkeley DB process' environment may be permitted to
|
||
specify information to be used when naming files; see
|
||
<a href="../../programmer_reference/env_naming.html" class="olink">Berkeley DB File Naming</a>.
|
||
Because permitting users to specify which files are used
|
||
can create security problems, if the
|
||
<code class="literal">DB_USE_ENVIRON_ROOT</code> flag is set,
|
||
environment information will be used in file naming only
|
||
for users with appropriate permissions (for example,
|
||
users with a user-ID of 0 on <code class="literal">UNIX</code>
|
||
systems).
|
||
</p>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<p>
|
||
Finally, there are a few additional unrelated flags:
|
||
</p>
|
||
<div class="itemizedlist">
|
||
<ul type="disc">
|
||
<li>
|
||
<p><a id="envopen_DB_CREATE"></a>
|
||
<code class="literal">DB_CREATE</code>
|
||
</p>
|
||
<p>
|
||
Cause Berkeley DB subsystems to create any underlying
|
||
files, as necessary.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_LOCKDOWN"></a>
|
||
<code class="literal">DB_LOCKDOWN</code>
|
||
</p>
|
||
<p>
|
||
Lock shared Berkeley DB environment files and
|
||
memory-mapped databases into memory.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_FAILCHK"></a>
|
||
<code class="literal">DB_FAILCHK</code>
|
||
</p>
|
||
<p>
|
||
Internally call the <a class="xref" href="envfailchk.html" title="DB_ENV->failchk()">DB_ENV->failchk()</a>
|
||
method as part of opening the environment. When
|
||
<code class="literal">DB_FAILCHK</code> is specified, a check is
|
||
made to ensure all
|
||
<code class="methodname">DB_ENV->failchk()</code> prerequisites
|
||
are meet.
|
||
</p>
|
||
<p>
|
||
If the <code class="literal">DB_FAILCHK</code> flag is used in
|
||
conjunction with the <code class="literal">DB_REGISTER</code>
|
||
flag, then a check will be made to see if the
|
||
environment needs recovery. If recovery is needed, a
|
||
call will be made to the
|
||
<code class="methodname">DB_ENV->failchk()</code> method to
|
||
release any database reads locks held by the thread of
|
||
control that exited and, if needed, to abort the
|
||
unresolved transaction. If
|
||
<code class="methodname">DB_ENV->failchk()</code> determines
|
||
environment recovery is still required, the recovery
|
||
actions for <code class="literal">DB_REGISTER</code> will be
|
||
followed.
|
||
</p>
|
||
<p>
|
||
If the <code class="literal">DB_FAILCHK</code> flag is not used in
|
||
conjunction with the <code class="literal">DB_REGISTER</code>
|
||
flag, then make an internal call to
|
||
<code class="methodname">DB_ENV->failchk()</code> as the last
|
||
step of opening the environment. If
|
||
<code class="methodname">DB_ENV->failchk()</code> determines
|
||
database environment recovery is
|
||
required,
|
||
<a href="../../programmer_reference/program_errorret.html#program_errorret.DB_RUNRECOVERY" class="olink">DB_RUNRECOVERY</a>
|
||
will be returned.
|
||
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_PRIVATE"></a>
|
||
<code class="literal">DB_PRIVATE</code>
|
||
</p>
|
||
<p>
|
||
Allocate region memory from the heap instead of from
|
||
memory backed by the filesystem or system shared memory.
|
||
</p>
|
||
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
||
<h3 class="title">Note</h3>
|
||
<p>
|
||
Use of this flag means that the environment can only be
|
||
accessed by one environment handle. The environment
|
||
cannot be accessed by multiple processes. This is true
|
||
even if one of those processes is one of the the Berkeley DB
|
||
utilities. (For example,
|
||
<a class="link" href="db_archive.html" title="db_archive">db_archive</a>,
|
||
<a class="link" href="db_checkpoint.html" title="db_checkpoint">db_checkpoint</a> or
|
||
<a class="link" href="db_stat.html" title="db_stat">db_stat</a>.)
|
||
Nor can a single process open multiple
|
||
handles to the environment.
|
||
</p>
|
||
</div>
|
||
<p>
|
||
This flag has two effects on the Berkeley DB
|
||
environment. First, all underlying data structures are
|
||
allocated from per-process memory instead of from shared
|
||
memory that is accessible to more than a single process.
|
||
Second, mutexes are only configured to work between
|
||
threads.
|
||
</p>
|
||
<p>
|
||
See
|
||
<a href="../../programmer_reference/env_region.html" class="olink">Shared Memory Regions</a>
|
||
for more information.
|
||
</p>
|
||
<p>
|
||
You can also specify this flag in the <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a>
|
||
configuration file. The syntax is a single line with the
|
||
string "set_open_flags", one or more whitespace
|
||
characters, the string "DB_PRIVATE", optionally one or
|
||
more whitespace characters and the string "on" or "off".
|
||
If the optional string is omitted, the default is "on";
|
||
for example, "set_open_flags DB_PRIVATE" or
|
||
"set_open_flags DB_PRIVATE on". Because the DB_CONFIG
|
||
file is read when the database environment is opened, it
|
||
will silently overrule configuration done before that
|
||
time.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_REGISTER"></a>
|
||
<code class="literal">DB_REGISTER</code>
|
||
</p>
|
||
<p>
|
||
Check to see if recovery needs to be performed before
|
||
opening the database environment. (For this check to be
|
||
accurate, all processes using the environment must
|
||
specify <code class="literal">DB_REGISTER</code> when opening the
|
||
environment.) If recovery needs to be performed for any
|
||
reason (including the initial use of the
|
||
<code class="literal">DB_REGISTER</code> flag), and
|
||
<code class="literal">DB_RECOVER</code> is also specified,
|
||
recovery will be performed and the open will proceed
|
||
normally. If recovery needs to be performed and
|
||
<code class="literal">DB_RECOVER</code> is not specified,
|
||
<a href="../../programmer_reference/program_errorret.html#program_errorret.DB_RUNRECOVERY" class="olink">DB_RUNRECOVERY</a>
|
||
will be returned. If recovery does not need to be
|
||
performed, the <code class="literal">DB_RECOVER</code> flag will
|
||
be ignored. See
|
||
<a href="../../programmer_reference/transapp_app.html" class="olink">Architecting Transactional Data Store applications</a>
|
||
for more information.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_SYSTEM_MEM"></a>
|
||
<code class="literal">DB_SYSTEM_MEM</code>
|
||
</p>
|
||
<p>
|
||
Allocate region memory from system shared memory instead
|
||
of from heap memory or memory backed by the filesystem.
|
||
</p>
|
||
<p>
|
||
See
|
||
<a href="../../programmer_reference/env_region.html" class="olink">Shared Memory Regions</a>
|
||
for more information.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<p><a id="envopen_DB_THREAD"></a>
|
||
<code class="literal">DB_THREAD</code>
|
||
</p>
|
||
<p>
|
||
Cause the
|
||
<a class="link" href="env.html" title="Chapter 5. The DB_ENV Handle">DB_ENV</a>
|
||
handle returned by <code class="methodname">DB_ENV->open()</code> to be <span class="emphasis"><em>free-threaded;</em></span> that is,
|
||
concurrently usable by multiple threads in the
|
||
address space. The <code class="literal">DB_THREAD </code>
|
||
flag should be specified if the
|
||
<a class="link" href="env.html" title="Chapter 5. The DB_ENV Handle">DB_ENV</a> handle will be
|
||
concurrently used by more than one thread in the
|
||
process, or if any
|
||
<a class="link" href="db.html" title="Chapter 2. The DB Handle">DB</a> handles opened in
|
||
the scope of the
|
||
<a class="link" href="env.html" title="Chapter 5. The DB_ENV Handle">DB_ENV</a> handle will be
|
||
concurrently used by more than one thread in the
|
||
process.
|
||
</p>
|
||
<p>
|
||
This flag is required when using the Replication Manager.
|
||
</p>
|
||
<p>
|
||
You can also specify this flag in the <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a>
|
||
configuration file. The syntax is a single line with
|
||
the string "set_open_flags", one or more whitespace
|
||
characters, the string "DB_THREAD", optionally one
|
||
or more whitespace characters and the string "on" or
|
||
"off". If the optional string is omitted, the
|
||
default is "on"; for example, "set_open_flags
|
||
DB_THREAD" or "set_open_flags DB_THREAD on".
|
||
Because the DB_CONFIG file is read when the database
|
||
environment is opened, it will silently overrule
|
||
configuration done before that time.
|
||
</p>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="idp59682816"></a>mode</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
On Windows systems, the mode parameter is ignored.
|
||
</p>
|
||
<p>
|
||
On UNIX systems or in IEEE/ANSI Std 1003.1 (POSIX)
|
||
environments, files created by Berkeley DB are created with
|
||
mode <span class="bold"><strong>mode</strong></span> (as described in
|
||
<span class="bold"><strong>chmod</strong></span>(2)) and modified by the
|
||
process' umask value at the time of creation (see
|
||
<span class="bold"><strong>umask</strong></span>(2)). Created files are
|
||
owned by the process owner; the group ownership of created
|
||
files is based on the system and directory defaults, and is
|
||
not further specified by Berkeley DB. System shared memory
|
||
segments created by Berkeley DB are created with mode
|
||
<span class="bold"><strong>mode</strong></span>, unmodified by the
|
||
process' umask value. If
|
||
<span class="bold"><strong>mode</strong></span> is 0, Berkeley DB will use a
|
||
default mode of readable and writable by both owner and group.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="idp59633048"></a>Errors</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The <code class="methodname">DB_ENV->open()</code> <span>
|
||
<span>
|
||
method may fail and return one of the following non-zero errors:
|
||
</span>
|
||
|
||
</span>
|
||
</p>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="idp59716256"></a>DB_RUNRECOVERY</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
Either the <code class="literal">DB_REGISTER</code> flag was specified, a
|
||
failure occurred, and no recovery flag was specified, or the
|
||
<code class="literal">DB_FAILCHK</code> flag was specified and recovery
|
||
was deemed necessary.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="idp59674432"></a>DB_VERSION_MISMATCH</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The version of the Berkeley DB library doesn't match the version
|
||
that created the database environment.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="idp59728944"></a>EAGAIN</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The shared memory region was locked and (repeatedly) unavailable.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="idp59729368"></a>EINVAL</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
If the <code class="literal">DB_THREAD</code> flag was specified and fast
|
||
mutexes are not available for this architecture; The
|
||
<code class="literal">DB_HOME</code> or <code class="literal">TMPDIR</code>
|
||
environment variables were set, but empty; An incorrectly
|
||
formatted <span class="bold"><strong>NAME VALUE</strong></span> entry or
|
||
line was found; or if an invalid flag value or parameter was
|
||
specified.
|
||
</p>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="idp59684168"></a>ENOENT</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The file or directory does not exist.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="idp59715200"></a>Class</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
<a class="link" href="env.html" title="Chapter 5. The DB_ENV Handle">DB_ENV</a>
|
||
</p>
|
||
</div>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="idp59715432"></a>See Also</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
<a class="xref" href="env.html#envlist" title="Database Environments and Related Methods">Database Environments and Related Methods</a>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="navfooter">
|
||
<hr />
|
||
<table width="100%" summary="Navigation footer">
|
||
<tr>
|
||
<td width="40%" align="left"><a accesskey="p" href="envlsn_reset.html">Prev</a> </td>
|
||
<td width="20%" align="center">
|
||
<a accesskey="u" href="env.html">Up</a>
|
||
</td>
|
||
<td width="40%" align="right"> <a accesskey="n" href="envremove.html">Next</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="40%" align="left" valign="top">DB_ENV->lsn_reset() </td>
|
||
<td width="20%" align="center">
|
||
<a accesskey="h" href="index.html">Home</a>
|
||
</td>
|
||
<td width="40%" align="right" valign="top"> DB_ENV->remove()</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</body>
|
||
</html>
|