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 Satellite 5.x
  • 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