The database format has changed in Berkeley DB XML release 2.3 and existing containers created in 2.x-based applications must be upgraded, and applications should be recompiled.
It is possible to upgrade containers created with 2.0, 2.1, or 2.2.
It is not possible to upgrade containers created with a 1.x release
of BDB XML. Containers can be upgraded in one of two ways. Using the
dbxml
shell facility,
or using the XmlManager::upgradeContainer()
method. The shell
program method is simpler.
Once the installation is built, these steps can be used to perform the upgrade:
Important: Make a backup copy of your container.
Assuming the dbxml program is in your PATH, type
dbxml
.
dbxml> upgradeContainer <pathToContainer>
dbxml> quit
The upgrade may take a few minutes, depending on the size of your container. You can check to see if the upgrade was successful by opening the container with the <i>openContainer</i> sub-command in dbxml.
Depending on the contents, node storage containers may bloat during
an upgrade process, resulting in a noticeably larger container. If
this is undesirable, it is possible to shrink the size by performing
a dbxml_dump
and dbxml_load
combination on the container, while is it not being accessed by any
other programs.