Upgrade Fails due to Corrupted RPM Repository
The following document is applicable to All-in-One DPOD appliance mode installation only.
In non-appliance installations, the operating system is under the responsibility of the customer, so the following procedure can only be used as an example.
Symptoms
-
Upgrading DPOD fails.
-
The following messages (or similar) appear in the upgrade log file:
error: rpmdb: BDB0113 Thread/process 8920/1401234 failed: BDB1507 Thread died in Berkeley DB library error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery error: cannot open Packages index using db5 - (-30973) error: cannot open Packages database in /var/lib/rpm
Cause
The Linux RPM repository got corrupted, and the DPOD upgrade fails since it cannot
execute rpm commands (such as
rpm -i or rpm
-qa).Resolution
Execute the following commands and try to upgrade DPOD again:
DPOD_RPM_BACKUP_DIR="/var/lib/rpm/backup-$(date +%F_%H-%M-%S)"
sudo mkdir ${DPOD_RPM_BACKUP_DIR} && sudo cp -a /var/lib/rpm/__db* ${DPOD_RPM_BACKUP_DIR} && sudo rm -f /var/lib/rpm/__db*
sudo rpm --quiet -qa
sudo rpm --rebuilddb
More information can be found in the following page: https://access.redhat.com/solutions/3330211