Friday, July 25, 2008

Fixing constantly growing OmniFocus database files

I had the problem that my OnmiFocus database file kept on growing and synching with the iPhone got really slow. When my file was around 2.3 MB I started to google around a bit and found a thread about the problem at the Omnigroup forum. The last entry at the time I was reading the whole 8 pages of the thread actually was the one helping me to reduce my file to manageable 540 KB.

What I did:
  • Rebuilt my Database selecting File->Rebuild Database
  • Selected File->Export (selected "OmniFocus Backup Document" from the drop-down) and saved it to the Desktop
  • Selected File->Revert to Database Backup (and used the previously saved backup on the Desktop)
  • When OmniFocus asked about using either the local copy or the server copy, I told it to use the local copy)


Ralf löbelt said...

Thanks for you tip, that helped a lot. Database from 1,2 Meg down do 44 kB.

BUT... I cannot synch after that :-(

Message says: Cannot synchronize.
Client with identifier ksdjfhksjdfhk only refers to identifiers that are not locally reachable.

GTD Marc said...

Hi Ralf

Did you try to unregister all the sync clients and add (register) them again?

On the client which has the new compacted database go to "Preferences" select the "Sync" pane, click on the "Show Clients" button and "Unregister" all clients. Now add the clients again ("have" to do this on each client locally).

Hope this helps.

Btw, what sync method are you using? I use MobileMe syncing.


Justin said...

Thank you! That was by far the weirdest Omnifocus error. Your steps solved it for me.

GTD Marc said...

Hi Justin

I'm glad that the tip helped. I do this compaction from time to time, because with large data base file (having inside a lot of ZIP files for the different transactions), MobileMe syncing becomes almost unbearable.

Best regards,


steve said...

I had the same problem. Your solution didn't work for me, but it did lead me to a solution. When I tried to export OmniFocus backup, the program wouldn't let me. It would say "Attempt to save-as-copy on a document that has not already been saved".

So I ended up disabling the sync first. The run compact database (only available when the sync is disabled), then replace the server data with the compacted one.
The database size went from 60MB to 242KB.

Didn't have to unregsiter my iPhone. It asked to be synced again when launched.

I'm using Omni Sync.

GTD Marc said...

Hi steve,

thanks a lot for the hint, will keep this in mind next time I want to compact my OmniFocus database. Could be that this has become an issue in a newer version, haven't tried to compact my DB since a couple of months. Guess it's time to try again. :-)

Best regards,