Yum Update: DB_RUNRECOVERY Fatal error, run database recovery

Yum Update: DB_RUNRECOVERY Fatal error, run database recovery

Image of Mattias Geniar

Mattias Geniar, April 26, 2016

Follow me on Twitter as @mattiasgeniar

If for some reason your server’s disk I/O fails during a yum or RPM manipulation, you can see the following error whenever you run yum or rpc:

# yum update
...
rpmdb: page 18816: illegal page type or format
rpmdb: PANIC: Invalid argument
rpmdb: Packages: pgin failed for page 18816
error: db4 error(-30974) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery
rpmdb: PANIC: fatal region error detected; run recovery
error: db4 error(-30974) from dbcursor->c_close: DB_RUNRECOVERY: Fatal error, run database recovery
No Packages marked for Update
rpmdb: PANIC: fatal region error detected; run recovery
error: db4 error(-30974) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery
rpmdb: PANIC: fatal region error detected; run recovery
error: db4 error(-30974) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery
rpmdb: File handles still open at environment close
rpmdb: Open file handle: /var/lib/rpm/Packages
rpmdb: Open file handle: /var/lib/rpm/Name
rpmdb: PANIC: fatal region error detected; run recovery
error: db4 error(-30974) from dbenv->close: DB_RUNRECOVERY: Fatal error, run database recovery

The fix is, thankfully, rather easy: remove the RPM database, rebuild it and let yum download all the mirror’s file lists.

$ mv /var/lib/rpm/__db* /tmp/
$ rpm --rebuilddb
$ yum clean all

The commands above are safe to run. If for some reason this does not fix, you can get the files back from the /tmp path where they were moved.

Solution:

Please follow these steps to backup and rebuild the rpmdb database:

mkdir /var/lib/rpm/backup
cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/
rm -f /var/lib/rpm/__db.[0-9][0-9]*
rpm --quiet -qa
rpm --rebuilddb
yum clean all
0 (0)
Article Rating (No Votes)
Rate this article
Attachments
There are no attachments for this article.
Comments
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
LVM: Create a new Volume Group
Viewed 869 times since Sat, Jun 2, 2018
How to mount software RAID1 member using mdadm
Viewed 864 times since Wed, Oct 3, 2018
Linux Add a Swap File – HowTo
Viewed 4919 times since Fri, Jun 8, 2018
How to recover error - Audit error: dispatch err (pipe full) event lost
Viewed 7317 times since Tue, Aug 6, 2019
Automatic YUM Updates with Yum-cron
Viewed 649 times since Fri, Oct 26, 2018
RHCS6: Show/Add GFS2/GFS journals
Viewed 7311 times since Sun, Jun 3, 2018
Tip: SSD and Linux. Enable TRIM and check if it works
Viewed 977 times since Fri, May 15, 2020
Linux LVM recovery
Viewed 1851 times since Wed, Jan 23, 2019
HowTo: Find Out Hard Disk Specs / Details on Linux
Viewed 868 times since Mon, Jan 28, 2019
Linux Kernel /etc/sysctl.conf Security Hardening
Viewed 2294 times since Fri, Aug 3, 2018