db4 error(19) with yum command

Issue #22 resolved
Jared Pehrson created an issue

IBM i 7.3 SF99725 - 8 - installed Installed Bootstrap via ACS. Bootstrap installation was reported as successful. See attached bootstrap.log file.

Any thoughts on why the "The specified device does not exist. (19) " is occurring?

export PATH=/QOpenSys/pkgs/bin:$PATH

yum list all
error: db4 error(19) from dbenv->open: The specified device does not exist.
error: cannot open Packages index using db4 - The specified device does not exist. (19)
error: cannot open Packages database in /QOpenSys/var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed

rm -f /QOpenSys/var/lib/rpm/ db.*

rpm --rebuilddb

yum list all
error: db4 error(19) from dbenv->open: The specified device does not exist.
error: cannot open Packages index using db4 - The specified device does not exist. (19)
error: cannot open Packages database in /QOpenSys/var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed

rpm
RPM version 4.13.0.1

Comments (13)

  1. Jared Pehrson reporter

    Any updates on this issue?

    I received the following update from the client.

    Package 5770SS1 option 33 was reinstalled over the weekend. There are
    no errors after issuing CHKPRDOPT.

    Performed the following steps
    STRQSH

    cd /QOpenSys/pkgs/bin/

    bash --version

    yum list all

    Received the same error as before.

    error: db4 error(19) from dbenv->open: The specified device does not
    exist.
    error: cannot open Packages index using db4 - The specified device does not exist. (19)
    error: cannot open Packages database in
    /QOpenSys/var/lib/rpm
    CRITICAL:yum.
    main:
    Error: rpmdb open failed

    Please advise.

  2. Musse

    @jpehrson When you run ls /QOpenSys/var/lib/rpm what is your output?

    From your snippet in first post above I see

    rm -f /QOpenSys/var/lib/rpm/ db.*

    The db names are prefixed with __db*. I want to ensure those were deleted or still around.

  3. Jared Pehrson reporter

    The command is actually

    rm -f /QOpenSys/var/lib/rpm/__db.*
    

    . The underscores got removed in my original update. I did verify the "__db*" files did get deleted before running the "rpm --rebuilddb" command. I will get the full "ls" output for you, but I was only seeing one "__db.001" file in this directory.

  4. Kevin Adler

    Is /QOpenSys/var/lib/rpm (or any parent directory) being journaled? If so, you'll have to disable journalling for everything under /QOpenSys/var/lib/rpm.

  5. Jared Pehrson reporter

    The entire directory and objects within it are being journaled. We’ve run into an issue with iTera where we cannot turn journaling off this directory. Our iTera admin has logged a case with iTera and we’re waiting for their response.

  6. Jared Pehrson reporter

    The RPM database is now rebuilding successfully after disabling journaling on the /QOpenSys/var/lib/rpm directory structure. I have attached a PDF showing the successful rebuild and execution. Marking this issue resolved.

  7. Jared Pehrson reporter

    Issue was resolved by disabling journaling of the /QOpenSys/var/lib/rpm directory structure (or any parent directory) and then running the "rpm --rebuilddb" command again.

  8. Musse

    @jpehrson Nice to hear that was resolved!

    I will add notes about ensuring Journaling is turned of /QOpenSys/var/lib/rpm directory structure (or any parent directory) to troubleshooting

  9. Log in to comment