There are a number of instances where compacting and repairing the Ivo data file is required.

The most serious is the "Unrecognised Database Format" error.

  • When this error occurs in Ivo, Ivo will automatically lock the system so no new logins can occur, will force exit any users currently logged in, and will automatically email the helpdesk.  I treat this particular issue as urgent.

"The search key was not found in any record" (eg. ref #13220)

There are other issues that can justify doing maintenance -

  • Slow performance across all functions
  • Slow performance with file notes (this is more likely a missing index, but it doesn't hurt to compact the data file first)
  • Anything new and weird

Compact and Repair process

  1. Email the client to advise the issue is being investigated and resolved.  These days, because Ivo automatically notifies us about this issue, we often know about this error before the organisation has noticed, so it is necessary to generate a new email to let them know it is being investigated and resolved.
  2. Ensure all users are logged out of Ivo - use force close if required
    1. Use LdbView utility to check
    2. Worst case, use Task Manager to end Ivo processes, and absolute worst case, use Computer Management to close open file locks
    3. Sometime the Access locking file .LDB is left behind and needs to be manually deleted.  Take absolute care to ensure you delete the LDB file, and not the .ivo file!!!!!
  3. Open Ivo_Data.ivo file with Microsoft Access
    1. most clients have this installed, however if it is not, you will need to zip the data file and copy it to you local computer (ISL is the best way to do this).  Particular care must be taken to track which file is the the correct one to 'restore' once finished.
  4. Enter Ivo database password
  5. Run compact and Repair - in recent versions of Access this will be on the Database Tools tab
  6. When finished, check for msysCompactErrors table and if present, analyse contents.  If this table is present it usually means there is corruption somewhere in the data file.  Mostly in the past few years this has been related to tblFileNoteRecovery (something in the way I have implemented this is clearly an issue).
    1. Check key tables for evidence of corruption
      1. tblActivities
      2. tblEntities
      3. tblFileNoteRecovery
      4. tblJournal
      5. tblStats
    2. Open each table and look at the very first records to see if any are filled with ######.  This will usually be in every field, though in the file note recovery table I have seen it in individual fields
    3. Also navigate to the last record in the table (there is a button at the bottom of the Access window that will do this) and check the last records for the same.  Page up a few times to check recent records as well - sometimes the corruption can have been there for several days without detection (though this is rare)
    4. Thankfully, corruption in the data file is actually pretty rare.  I would say it has happened less than 10 times in 15 or so years Ivo has been going (and some of those were due to Microsoft's ShadowCopy!)
  7. Check indexes
    1. Login to Ivo as 1024
      1. Turn off the force close function by clicking the small highlighted Red Cross icon at the top-left of the Ivo window
      2. Click the "1024 Tools" tab.
    2. Click the "Indexes" tab
    3. The "Missing Indexes" radio button should be selected by default. Click the "List Indexes" button
    4. If any are listed, click the "Create Missing Indexes" button.
      1. This function is a little screwy for some tables/clients, wherein tables will be listed as missing indexes, that actually aren't.  It's to do with inconsistent naming of indexes (perhaps I created them manually at some point for the client).  It's not a big deal.  If the table does actually have the indexes, then Ivo will show an "Primary key already exists" (or similar) message.
  8. Check the Error Log to see if there is anything suspicious recorded that may indicate what caused the issue
  9. If satisfied that the data file is OK, click the small highlighted padlock icon at the top left corner of the Io Window to unlock the system
  10. Notify the client that staff can login again.