db_upgrade(1) General Commands Manual db_upgrade(1)
db_upgrade [-NsV] [-h home] [-P password] file ...
The db_upgrade utility upgrades the Berkeley DB version of one or more
files and the databases they contain to the current release version.
The options are as follows:
Specify a home directory for the database environment; by default, the
current working directory is used.
Do not acquire shared region mutexes while running. Other problems, 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.
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 arguments.
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 specify 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
Because the db_upgrade utility upgrades a physical file (including all
the databases it contains), it is not possible to use db_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), db_upgrade will work correctly as
long as the -s flag is correctly specified. Otherwise, the file cannot be
upgraded using db_upgrade, and must be upgraded manually using the
db_dump and db_load utilities.
Write the library version number to the standard output, and exit.
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 procedure runs out
of disk space, the databases may be left in an inconsistent and
unrecoverable state. See Upgrading databases for more information.
The db_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, db_upgrade should always be given the chance to detach from
the environment and exit gracefully. To cause db_upgrade to release all
environment resources and exit cleanly, send it an interrupt signal
The db_upgrade utility exits 0 on success, and >0 if an error occurs.
DB_HOME 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.
db_archive(1), db_checkpoint(1), db_deadlock(1), db_dump(1), db_load(1),
db_printlog(1), db_recover(1), db_stat(1), db_verify(1)
Darwin December 3, 2003 Darwin