Unloading and reloading the recovery and error databases

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Unloading and reloading the recovery and error databases

  • Creator
    Topic
  • #53094
    bill bearden
    Participant

      Is there a way to unload and reload the recovery and error databases? In our test environment, we sometimes have database problems. All we know how to do is stop everything and re-init. Is that the only option?

      I have tried working with hcilmclear, depending on the error. For some reason, I always end up having to re-init.

      It *is* certainly possible that I am missing something.

      Do we have any access to the rdb outside of hcidbinit and hcidbdump?

      We are on 5.8.4 in production and testing with 5.8.5. But we had occasional database issues before 5.8.5 so I don’t think my current test issue is release related.

      Thanks in advance.

    Viewing 7 reply threads
    • Author
      Replies
      • #76538
        Robert Kersemakers
        Participant

          Hi Bill,

          What kind of database problems are you having?

          We only occasionally need to check/delete errors from the error database. We hardly ever touch the recovery database. So I’m wondering what’s going wrong at your side.

          Zuyderland Medisch Centrum; Heerlen/Sittard; The Netherlands

        • #76539
          bill bearden
          Participant

            We get various things. Here is one that occurred when trying to bring up one of the processes up in one of our test sites.

            [dbi :dbi :ERR /0:ncXaOrdtest_ib_cmd:05/15/2012 11:40:10] (-921) ‘RDM Embedded DB error: “SYSTEM/OS error: -921

            DBUSERID is already being used

            C errno = 183: Unknown error”

          • #76540
            bill bearden
            Participant

              Just did an hcilmclear. The process seemed to come up. Then it died and gave me this.

              [pdl :PDL :ERR /0:   sxa_ekg_ib:05/15/2012 11:48:35] read returned error 0 (No error)

              [pdl :PDL :ERR /0:   sxa_ekg_ib:05/15/2012 11:48:35] PDL signaled exception: code 1, msg device error (remote side probably shut down)

              [dbi :dbi :ERR /0:   sxa_ekg_ib:05/15/2012 11:48:40] (-931) ‘RDM Embedded DB error: “SYSTEM/OS error: -931

              Invalid lock manager user (may have been removed due to a reply timeout)

              C errno = 0: No error”

              [dbi :dbi :ERR /0:   sxa_ekg_ib:05/15/2012 11:48:40] (-931) ‘cl_keyfindlock: d_keylock failed ‘

              [dbi :dbi :ERR /0:   sxa_ekg_ib:05/15/2012 11:48:40] dbiMidExists: status cldb_keyfindlock = -931

              [dbi :dbi :ERR /0:   sxa_ekg_ib:05/15/2012 11:48:40] (-24) ‘RDM Embedded DB error: “PROGRAMMER/USER error: -24

              attempt to access unlocked set/record

              C errno = 0: No error”

            • #76541
              Robert Kersemakers
              Participant

                You get these errors when someone did a ‘hcidbdump -e’ or ‘hcidbump -r’ and then cancels the operatiobn. The user is then stuck and you need to clear it with ‘lmclear -u -mp’.

                If you do a hcidbump, you can use the -U option to use a different user, like ‘hcidbdump -e -U TEST’. If this command is canceled, then you need to ‘lmclear -u TEST -mp’.

                You only get it at startup of processes and it gives no problems? Then just ignore it…

                Zuyderland Medisch Centrum; Heerlen/Sittard; The Netherlands

              • #76542
                bill bearden
                Participant

                  Thanks, Robert.

                  As I said in my previous post, I did the hcilmclear. I did it with -v. It reported that it cleared 8 or 10 user ids. It didn’t help. I’ve read the other posts stating this should help. For some reason, in my circumstances it never has helped.

                  lmclear with -mp gives me an error that I am using an invalid lock manager transport type. I have gotten output with -mi.

                  On some errors, I have actually gotten the name of the user who is supposedly already in use. hcilmclear -p -v reports that it clears it. But I get the same error when I start the process.

                  I didn’t say that it gives no problems. The error prevents the startup of the process.

                  But all this has little (or nothing) to do with my original question. Does anyone know how to unload and reload the data in the recovery and error databases????

                  Thanks,

                  Bill

                • #76543
                  Robert Kersemakers
                  Participant

                    Hi Bill,

                    Not sure I can help you any further then. I searched the forum and found some posts on this subject:

                    https://usspvlclovertch2.infor.com/viewtopic.php?t=2132

                    https://usspvlclovertch2.infor.com/viewtopic.php?t=4765

                    Looks like you need to do a cleanup of the site and, if on Windows which I guess you are, you need to restart the cloverleaf service.

                    I assume you have tried a complete init of the database with hcidbinit. But just to be sure: maybe ‘keydump’ could work.

                    If nothing helps, then you need to make a call with support about this.

                    Zuyderland Medisch Centrum; Heerlen/Sittard; The Netherlands

                  • #76544
                    bill bearden
                    Participant

                      Thanks for the links, Robert.

                      dbinit certainly fixes it. That is what we have been doing. My goal was to be able to fix the problem while saving the data. That is why I asked about unloading and reloading and I said that I had tried hcilmclear (unsuccessful) and that we always ended up doing a re-init.

                      Bill

                    • #76545
                      Jon Blanchard
                      Participant

                        To extract the data from either database, use

                        Code:

                        hcidbdump -[r|e] [-f ] [-d ] [-b]


                        OutputFileName will be filled with the database entries in Len10 format.  

                        Unfortunately, the only way to reload either database, that I can think of, is to build a reload thread which can read in the extracted entries and direct them to the appropriate destination thread (for recovery DB entries) or forcing an error (for error DB entries).  Since extracted data loses all of its metadata, the thread will depend completely on any routing information present in the data to reload, once the database is reinitialized.  You will need to check the engine documentation to learn which metadata fields are writeable and which are not.

                        Rather than reload the recovery database directly, it might be better to extract DB entries for individual destination threads to files labeled with the destination thread names, then use the thread control popup menu (in the Network Monitor page) to inject the file contents into the destination thread.

                        Personally, I can’t think of any reason to reload the error database.  Error database entries don’t have a destination thread to go to and therefore don’t move or leave once they land.  IMHO, it is better to simply leave the error database clear once it is reinitialized.

                        Migration Consultant
                        Coffee Regional Medical Center
                        Eastern Time Zone

                    Viewing 7 reply threads
                    • The forum ‘Cloverleaf’ is closed to new topics and replies.