Why does running yum or satellite-sync terminate with "rpmdb open failed" error ?

Solution Verified - Updated -

Issue

  • why does running satellite-sync on Satellite server terminate with "unhandled exception occurred" and "TypeError: rpmdb open failed" error?
        Traceback (most recent call last):
          File "/usr/bin/satellite-sync", line 136, in main
            return satsync.Runner().main()
          File "/usr/share/rhn/satellite_tools/satsync.py", line 199, in main
            ret = method()
          File "/usr/share/rhn/satellite_tools/satsync.py", line 268, in _step_channel_families
            self.syncer.syncCert()
          File "/usr/share/rhn/satellite_tools/satsync.py", line 499, in syncCert
            return self._process_cert(cert)
          File "/usr/share/rhn/satellite_tools/satsync.py", line 534, in _process_cert
            satCerts.storeRhnCert(cert)
          File "/usr/share/rhn/satellite_tools/satCerts.py", line 227, in storeRhnCert
            set_slots_from_cert(sc)
          File "/usr/share/rhn/satellite_tools/satCerts.py", line 94, in set_slots_from_cert
            monSupportedYN = not not getInstalledHeader("NPalert")
          File "/usr/share/rhn/common/rhn_rpm.py", line 342, in getInstalledHeader
            mi = MatchIterator("name")
          File "/usr/share/rhn/common/rhn_rpm.py", line 244, in __init__
            self.mi = method(tag_name)
        TypeError: rpmdb open failed
  • why does running yum terminate with "_rpm.error: rpmdb open failed" error?
# yum clean all
        rpmdb: Thread/process 3631/3078788800 failed: Thread died in Berkeley DB library
        error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
        error: cannot open Packages index using db3 - (-30974)
        error: cannot open Packages database in /var/lib/rpm
        Traceback (most recent call last):
        File "/usr/bin/yum", line 29, in <module>
        yummain.user_main(sys.argv[1:], exit_code=True)
        File "/usr/share/yum-cli/yummain.py", line 254, in user_main
        errcode = main(args)
        File "/usr/share/yum-cli/yummain.py", line 88, in main
        base.getOptionsConfig(args)
        File "/usr/share/yum-cli/cli.py", line 192, in getOptionsConfig
        self.conf
        File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 778, in <lambda>
        conf = property(fget=lambda self: self._getConfig(),
        File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 256, in _getConfig
        startupconf = config.readStartupConfig(fn, root)
        File "/usr/lib/python2.6/site-packages/yum/config.py", line 835, in readStartupConfig
        startupconf.releasever = _getsysver(startupconf.installroot, startupconf.distroverpkg)
        File "/usr/lib/python2.6/site-packages/yum/config.py", line 968, in _getsysver
        idx = ts.dbMatch('provides', distroverpkg)
        _rpm.error: rpmdb open failed

Environment

  • Red Hat Network Satellite
  • Red Hat Enterprise Linux

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.