DB5.1_UPGRADE(1) General Commands Manual DB5.1_UPGRADE(1)
db5.1_upgrade - Upgrade the Berkeley DB version to the current release
db5.1_upgrade [-NsVv] [-h home] [-P password] file ...
The db5.1_upgrade utility upgrades the Berkeley DB version of one or
more files and the databases they contain to the current release ver-
-h Specify a home directory for the database environment; by
default, the current working directory is used.
-N Do not acquire shared region mutexes while running. Other prob-
lems, such as potentially fatal errors in Berkeley DB, will be
ignored as well. This option is intended only for debugging
errors, and should not be used under any other circumstances.
-P Specify an environment password. Although Berkeley DB utilities
overwrite password strings as soon as possible, be aware there
may be a window of vulnerability on systems where unprivileged
users can see command-line arguments or where utilities are not
able to overwrite the memory containing the command-line argu-
-s This flag is only meaningful when upgrading databases from
releases before the Berkeley DB 3.1 release.
As part of the upgrade from the Berkeley DB 3.0 release to the
3.1 release, the on-disk format of duplicate data items changed.
To correctly upgrade the format requires that applications spec-
ify whether duplicate data items in the database are sorted or
not. Specifying the -s flag means that the duplicates are
sorted; otherwise, they are assumed to be unsorted. Incorrectly
specifying the value of this flag may lead to database corrup-
Because the db5.1_upgrade utility upgrades a physical file
(including all the databases it contains), it is not possible to
use db5.1_upgrade to upgrade files where some of the databases
it includes have sorted duplicate data items, and some of the
databases it includes have unsorted duplicate data items. If the
file does not have more than a single database, if the databases
do not support duplicate data items, or if all the databases
that support duplicate data items support the same style of
duplicates (either sorted or unsorted), db5.1_upgrade will work
correctly as long as the -s flag is correctly specified. Other-
wise, the file cannot be upgraded using db5.1_upgrade, and must
be upgraded manually using the db5.1_dump and db5.0_load utili-
-V Write the library version number to the standard output, and
-v Run in verbose mode, displaying a message for each successful
It is important to realize that Berkeley DB database upgrades are done
in place, and so are potentially destructive. This means that if the
system crashes during the upgrade procedure, or if the upgrade proce-
dure runs out of disk space, the databases may be left in an inconsis-
tent and unrecoverable state.
The db5.1_upgrade utility may be used with a Berkeley DB environment
(as described for the -h option, the environment variable DB_HOME, or
because the utility was run in a directory containing a Berkeley DB
environment). In order to avoid environment corruption when using a
Berkeley DB environment, db5.1_upgrade should always be given the
chance to detach from the environment and exit gracefully. To cause
db5.1_upgrade to release all environment resources and exit cleanly,
send it an interrupt signal (SIGINT).
The db5.1_upgrade utility exits 0 on success, and >0 if an error
If the -h option is not specified and the environment variable
DB_HOME is set, it is used as the path of the database home, as
described in DB_ENV->open.
Sleepycat Software, Inc. This manual page was created based on the HTML
documentation for db_upgrade from Sleepycat, by Thijs Kinkhorst
<email@example.com>, for the Debian system (but may be used by oth-
28 January 2005 DB5.1_UPGRADE(1)