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