rpmdb: DB_RUNRECOVERY Errors When Using dbaascli on Exacc

rpmdb: DB_RUNRECOVERY Errors When Using dbaascli on Exacc

For registering a manually created database on Exacc, you need to create DBNAME.ini file first. This is a cloud registration file by running the following command as the root user on one of the database servers.

In my case,

[root@myexacc01]# dbaascli registerdb registry --action initialize --db MYBLTDB

Fails with.

error: rpmdb: BDB0113 Thread/process failederror: db5 error(-30973) from dbenv->>failchkerror: DB_RUNRECOVERY: Fatal error, run database recoveryerror: cannot open Packages database in /var/lib/rpm

This is actually not a database or Exacc platform related error. It is a standard RPM database related error.

This indicates that the RPM database under /var/lib/rpm is corrupted or has stale Berkeley DB lock files. As a result, dbaascli cannot complete the requested operation.

To resolve this issue, the RPM DB must be rebuilt.

[root@myexacc01]# mkdir /var/lib/rpm/backup
[root@myexacc01]# cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/
[root@myexacc01]# rm -f /var/lib/rpm/__db*
[root@myexacc01]# rpm --quiet -qa
[root@myexacc01]# rpm --rebuilddb
[root@myexacc01]# yum clean all

After rebuilding the rpm database, register command succeeds. Initialize generates the cloud registration file and distributes it to the required cloud registry location (under /var/opt/oracle/creg) on all of the cluster nodes.

Hope it helps.


Discover More from Osman DİNÇ


Comments

2 responses to “rpmdb: DB_RUNRECOVERY Errors When Using dbaascli on Exacc”

  1. onurtheunique Avatar
    onurtheunique

    Respect ++

    Like

  2. Orhan E. Avatar
    Orhan E.

    Really useful information and a great explanation of the issue. It’s good to know that this error is not actually related to the database or ExaCC, but to the RPM database.
    The steps are clear and easy to follow, especially the backup and rebuild of the RPM database. This will definitely save time for anyone who runs into the same DB_RUNRECOVERY error.

    Thanks for sharing!

    Like

Leave your comment