2
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
3
<!--All rights reserved.-->
4
<!--See the file LICENSE for redistribution information.-->
7
<title>Berkeley DB: db_upgrade</title>
8
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
9
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
12
<a name="2"><!--meow--></a>
13
<table width="100%"><tr valign=top>
18
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
22
<h3><pre>db_upgrade [<b>-NsV</b>] [<b>-h home</b>] [<b>-P password</b>] file ...</pre></h3>
24
<a name="3"><!--meow--></a><a name="4"><!--meow--></a>
25
<p>The db_upgrade utility upgrades the Berkeley DB version of one or more
26
files and the databases they contain to the current release version.
27
<p>The options are as follows:
29
<p><dt><b>-h</b><dd>Specify a home directory for the database environment; by
30
default, the current working directory is used.
31
<p><dt><b>-N</b><dd>Do not acquire shared region mutexes while running. Other problems,
32
such as potentially fatal errors in Berkeley DB, will be ignored as well.
33
This option is intended only for debugging errors, and should not be
34
used under any other circumstances.
35
<p><dt><b>-P</b><dd>Specify an environment password. Although Berkeley DB utilities overwrite
36
password strings as soon as possible, be aware there may be a window of
37
vulnerability on systems where unprivileged users can see command-line
38
arguments or where utilities are not able to overwrite the memory
39
containing the command-line arguments.
40
<p><dt><b>-s</b><dd>This flag is only meaningful when upgrading databases from releases
41
before the Berkeley DB 3.1 release.
42
<p>As part of the upgrade from the Berkeley DB 3.0 release to the 3.1 release,
43
the on-disk format of duplicate data items changed. To correctly upgrade
44
the format requires that applications specify whether duplicate data
45
items in the database are sorted or not. Specifying the <b>-s</b>
46
flag means that the duplicates are sorted; otherwise, they are assumed
47
to be unsorted. Incorrectly specifying the value of this flag may lead
48
to database corruption.
49
<p>Because the db_upgrade utility upgrades a physical file
50
(including all the databases it contains), it is not possible to use
51
db_upgrade to upgrade files where some of the databases it
52
includes have sorted duplicate data items, and some of the databases it
53
includes have unsorted duplicate data items. If the file does not have
54
more than a single database, if the databases do not support duplicate
55
data items, or if all the databases that support duplicate data items
56
support the same style of duplicates (either sorted or unsorted),
57
db_upgrade will work correctly as long as the <b>-s</b> flag
58
is correctly specified. Otherwise, the file cannot be upgraded using
59
db_upgrade, and must be upgraded manually using the
60
<a href="../utility/db_dump.html">db_dump</a> and <a href="../utility/db_load.html">db_load</a> utilities.
61
<p><dt><b>-V</b><dd>Write the library version number to the standard output, and exit.
63
<p><b>It is important to realize that Berkeley DB database upgrades are done
64
in place, and so are potentially destructive.</b> This means that if the
65
system crashes during the upgrade procedure, or if the upgrade procedure
66
runs out of disk space, the databases may be left in an inconsistent and
67
unrecoverable state. See <a href="../ref/am/upgrade.html">Upgrading
68
databases</a> for more information.
69
<p>The db_upgrade utility may be used with a Berkeley DB environment (as described for the
70
<b>-h</b> option, the environment variable <b>DB_HOME</b>, or
71
because the utility was run in a directory containing a Berkeley DB
72
environment). In order to avoid environment corruption when using a
73
Berkeley DB environment, db_upgrade should always be given the chance to
74
detach from the environment and exit gracefully. To cause db_upgrade
75
to release all environment resources and exit cleanly, send it an
76
interrupt signal (SIGINT).
77
<p>The db_upgrade utility exits 0 on success, and >0 if an error occurs.
78
<h1>Environment Variables</h1>
80
<p><dt>DB_HOME<dd>If the <b>-h</b> option is not specified and the environment variable
81
DB_HOME is set, it is used as the path of the database home, as described
82
in <a href="../api_c/env_open.html">DB_ENV->open</a>.
85
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>